c 如何使 form2 相对于 form1 的位置始终相同

发布于 汽车 2024-07-23
23个回答
  1. 匿名用户2024-01-31

    首先,你需要弄清楚 form1 和 form2 之间的关系,然后你就可以了,假设你现在打开程序,先打开 form1,然后在 form1 中调用实例化 form2 并显示它。

    在第一步中,使用时间控件在 form1 中刷新,或将窗体的位置值 x 和 y 分配给窗体移动事件中的两个公共变量,然后在调用 form2 时写入此值。

    form2 tmpfom=new form(this);

    在 form2 中将构造函数更改为 form2 (form1 oldform)。

    这样,您可以在 form2 中调用 form1 的位置数据来刷新 form2 本身。

    int newposx;

    int newposy;

    form1 newform1;

    void form2(form1 oldform)

    newform1=oldform;

    newposx=x form form1 的位置;

    newposy=y 形式 form1 的位置;

    然后使用 form2 中的计时器根据 newposx 和 newposy 刷新 form2 的位置,当天就可以反其道而行之。

    如果 form1 和 form2 属于同一形式,那就更好了。 你自己琢磨,不明白就再问一遍。

    如果要在 form1 中刷新 form2,可以指定 form2 的位置,以便在 form2 中定义两个公共变量 psx 和 psy,并在 form2 中定义一个公共方法 changepostion(),该方法读取 psx 和 psy 以更改 form2 的位置。

    在 form1 中定义 form2 并实例化 form2,可以通过更改 form2 实例的 psx 和 psy 值并调用 changepostion() 方法来更改移动 form2

    有时,解决问题的方法有很多种,您不必走一条路。 你可以达到效果。

  2. 匿名用户2024-01-30

    更改 form2 在 form1 move 事件中的位置。

    或者,如果更改 form1 的位置,则获取 form2 中的位置。

  3. 匿名用户2024-01-29

    使用两个面板并将它们放在一个形式中。

  4. 匿名用户2024-01-28

    我的印象是 form1 对象应该有一个位置更改事件,并且 form2 的位置应该在事件处理程序中更改。

  5. 匿名用户2024-01-27

    新点(相对横坐标,相对纵坐标)。

  6. 匿名用户2024-01-26

    只要你控制了窗体的左边和上层属性,你的form2是如何创建的,假设它与下面的**类似,例如,它是在form1中创建的。

    form2 frm = new form2();

    - form2 的位置位于 form1 的左侧,与 form1 并列。

    form2 的上边缘与 form1 齐平,当然这只是一个例子,如果还有什么需要改动的,就改一下就行了。

  7. 匿名用户2024-01-25

    您是否希望一个窗口更改其位置,而另一个窗口更改其位置?

  8. 匿名用户2024-01-24

    我将更详细地介绍楼上的“构造函数”。

    在 form1 中,form2 f2=new form2(;

    在 form2 中,类 form2

    public form2(string str)

  9. 匿名用户2024-01-23

    public partial class form1 : formpublic static string a;

    private void button1_click(object sender, eventargs e)

    public partial class form2 : formprivate void form2_load(object sender, eventargs e)

    ;假设我调用 form1 以将文本框值 a 传递给 form2 表单标签控件文本。

  10. 匿名用户2024-01-22

    两个形式需要相关,最好的一种形式是另一个形式的主人,这样两个形式才能取彼此的值。 如果是两个不相关的形式,最好像静态变量一样传递它们。 如果它不起作用,您将不得不查找手柄,这将太麻烦了。

  11. 匿名用户2024-01-21

    一楼的那个不清楚。

    二楼有个问题,form1差不多一样,但系统默认为textbox1,textbox2......不是 txtscorecomputer......

    form2 直接使用 = ;

    = ;= ;= ;= ;似乎不需要,对吧?

    由于 form1 为定义赋值。

    public static string stuname;

    public static string scorecomputer;

    public static string scorelanguage;

    public static string scorehighmath;

    public static string scorepeacetime;

    ,所以 form2 可以直接使用,依此类推。

  12. 匿名用户2024-01-20

    有两个步骤:

    1:将 form1 中的数据传递给 form2

    此步骤仅将数据传递给 form2(通过 ** 获取表单数据到 form2)2:form2 接受来自 form1 的数据。

    这一步是从表格 1 中获取数据并计算您的(评分成绩的具体算法:d = 大学计算机分数 * 0。2 + 外语* + 高等数学* + 普通成绩* D 85 分>A 级,D > B 级 70 分,否则 C 级。

    然后在您要显示的文本框或标签中显示它,没关系! 试一试吧!

  13. 匿名用户2024-01-19

    这是 form1 中的字段和事件。

    public static string stunumber;

    public static string stuname;

    public static string scorecomputer;

    public static string scorelanguage;

    public static string scorehighmath;

    public static string scorepeacetime;

    private void button1_click(object sender, eventargs e)

    stunumber = ;

    stuname= ;

    scorecomputer = ;

    scorelanguage= ;

    scorehighmath = ;

    scorepeacetime= ;

    form2 myform2 = new form2();

    表格2。

    private void btnok_click(object sender, eventargs e)

    = ;= ;= ;= ;= ;double d = *

    if (d > 85)

    a";else if (d > 70)

    b";else

    c";这里需要数据验证,这里就不验证了。

    这个**表示静态变量值,我对那个组合框没用,应该叫你选择,课程成绩很多,你可以通过组合框选择这些课程,然后输入成绩,或者选择学号,总之在组合框中可以有一套可以选择,也可以写。我也是初学者,希望能理解!!

  14. 匿名用户2024-01-18

    似乎没有直接的使用方法,但找到一种方法也不是不可能。

    它只是为了覆盖最大化按钮,或者在窗口状态 = max 时更改 form2 的位置和大小。

  15. 匿名用户2024-01-17

    三种方法。

    1.将 form1 中 label1 的访问属性 private 更改为 public

    2.在 form1 中编写一个公共方法,并在该方法中调用 label1

    Form2 调用此方法。

    3.在 form1 中编写一个事件并委托。

    form1 f1 = new form1(this);

    这增加了窗口之间的耦合。

    使用事件是最好和最常见的方法。

    表格2。

    public delegate onchangelabel1(string newtext);

    public event onchangelabel1 changelabel1;

    单击由 button1 触发的事件。

    private void button1click(object sender, eventagment e)

    Form1 构造函数绑定 Form2 事件。

    public form1()

    private void changelabel1method(string ntext)

  16. 匿名用户2024-01-16

    仅仅使用多文档窗体是不够的,这样 form2 窗体就会成为 form1 窗体的子窗体。

  17. 匿名用户2024-01-15

    有一种简单的方法可以定义一个新类 pub,并在其中编写一个静态属性 pubilc static textbox tb

    然后让 form1 的 load 事件被写入;

    然后可以调用form2,即form1中的值继续问我是否不明白。

  18. 匿名用户2024-01-14

    >> 打开 form1

    >> 单击按钮。

    private void button1_click(object sender, eventargs e)

    form2 frm = new form2();

    结果:<>

  19. 匿名用户2024-01-13

    如果你要展示它。 你应该能够选择form1,如果它是showdig,那么你就不能选择它。

    除此之外。 您可以在显示之前设置 form2 的位置。

    例如。 form2 asd=new form2() 加上 form2 的宽度。 他是平行的。 提高。 他是垂直对齐的。 明白了。

    我不会写给你的。 没有IDE,我就不是神。

  20. 匿名用户2024-01-12

    最好自定义调用 form1 和 form2 的线层方法,以便这两个窗体不会重写,并且可以放置在任务位置。

  21. 匿名用户2024-01-11

    将 Form2 的 MDI 父窗口设置为 Form1 并开始位置固定。

  22. 匿名用户2024-01-10

    你好,这个很容易实现,你需要用单例模式,我把程序发给你,你先测试一下,bin调试,你应该知道吧? button1 是打开 form2 button2 是关闭 form2 不要颠倒顺序,因为我根本没有做验证。

    表单 1.

    private void button1_click(object sender, eventargs e)

    private void button2_click(object sender, eventargs e)

    自定义类。

    class helper

  23. 匿名用户2024-01-09

    如果 form1 是您稍后创建的对象,则可以将 form2 作为对象传递给 form1; form1 中有构造函数。

    public form1 (form2 f),然后在 ** 中创建 form1 对象,例如 new form1(this)showdialog();这句话 ** 在 form2 的类中,如果这是 form2; 然后,如果要在 form1 中关闭 form2,请直接将其写入 closing 事件中;

    如果 form2 是稍后打开的对象,你可以这样写,声明全局变量 form2 f=new new form2(); 当需要打开 form2 时写入; 然后在关闭时写下;

    希望对你有所帮助!

相关回答
6个回答2024-07-23

底盘基本上是在富康的基础上改的,发动机和其他标志雪铁龙一样,不要买,虽然比那辆便宜,但是后期的维修零件很贵。

11个回答2024-07-23

为了培养孩子的学习兴趣,这里有一些想法给你: >>>More

12个回答2024-07-23

您好,我推荐您购买魅族,魅族的做工是业界公认的顶级水平,但是由于时间的关系,魅族2已经停产了,我建议您购买魅族4。 >>>More

21个回答2024-07-23

要想让男神爱上他,首先要有足够的自信,其次要学会主动出击,最后变得更好。 >>>More

16个回答2024-07-23

我第一次注意到可汗是在看到我们结婚的时候,当时我非常在意他对维多利亚的照顾,我开始以为只是为了拍戏,但得知后才发现可汗对大家都是那么温柔, 他的性格让人觉得很温暖,而且对女人很照顾,坤在国外生活了很久,自然也受洋风情的感染,男女关系没有那么拘束,也比较开放。 >>>More