-
首先,你需要弄清楚 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
有时,解决问题的方法有很多种,您不必走一条路。 你可以达到效果。
-
更改 form2 在 form1 move 事件中的位置。
或者,如果更改 form1 的位置,则获取 form2 中的位置。
-
使用两个面板并将它们放在一个形式中。
-
我的印象是 form1 对象应该有一个位置更改事件,并且 form2 的位置应该在事件处理程序中更改。
-
新点(相对横坐标,相对纵坐标)。
-
只要你控制了窗体的左边和上层属性,你的form2是如何创建的,假设它与下面的**类似,例如,它是在form1中创建的。
form2 frm = new form2();
- form2 的位置位于 form1 的左侧,与 form1 并列。
form2 的上边缘与 form1 齐平,当然这只是一个例子,如果还有什么需要改动的,就改一下就行了。
-
您是否希望一个窗口更改其位置,而另一个窗口更改其位置?
-
我将更详细地介绍楼上的“构造函数”。
在 form1 中,form2 f2=new form2(;
在 form2 中,类 form2
public form2(string str)
-
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 表单标签控件文本。
-
两个形式需要相关,最好的一种形式是另一个形式的主人,这样两个形式才能取彼此的值。 如果是两个不相关的形式,最好像静态变量一样传递它们。 如果它不起作用,您将不得不查找手柄,这将太麻烦了。
-
一楼的那个不清楚。
二楼有个问题,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 可以直接使用,依此类推。
-
有两个步骤:
1:将 form1 中的数据传递给 form2
此步骤仅将数据传递给 form2(通过 ** 获取表单数据到 form2)2:form2 接受来自 form1 的数据。
这一步是从表格 1 中获取数据并计算您的(评分成绩的具体算法:d = 大学计算机分数 * 0。2 + 外语* + 高等数学* + 普通成绩* D 85 分>A 级,D > B 级 70 分,否则 C 级。
然后在您要显示的文本框或标签中显示它,没关系! 试一试吧!
-
这是 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";这里需要数据验证,这里就不验证了。
这个**表示静态变量值,我对那个组合框没用,应该叫你选择,课程成绩很多,你可以通过组合框选择这些课程,然后输入成绩,或者选择学号,总之在组合框中可以有一套可以选择,也可以写。我也是初学者,希望能理解!!
-
似乎没有直接的使用方法,但找到一种方法也不是不可能。
它只是为了覆盖最大化按钮,或者在窗口状态 = max 时更改 form2 的位置和大小。
-
三种方法。
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)
-
仅仅使用多文档窗体是不够的,这样 form2 窗体就会成为 form1 窗体的子窗体。
-
有一种简单的方法可以定义一个新类 pub,并在其中编写一个静态属性 pubilc static textbox tb
然后让 form1 的 load 事件被写入;
然后可以调用form2,即form1中的值继续问我是否不明白。
-
>> 打开 form1
>> 单击按钮。
private void button1_click(object sender, eventargs e)
form2 frm = new form2();
结果:<>
-
如果你要展示它。 你应该能够选择form1,如果它是showdig,那么你就不能选择它。
除此之外。 您可以在显示之前设置 form2 的位置。
例如。 form2 asd=new form2() 加上 form2 的宽度。 他是平行的。 提高。 他是垂直对齐的。 明白了。
我不会写给你的。 没有IDE,我就不是神。
-
最好自定义调用 form1 和 form2 的线层方法,以便这两个窗体不会重写,并且可以放置在任务位置。
-
将 Form2 的 MDI 父窗口设置为 Form1 并开始位置固定。
-
你好,这个很容易实现,你需要用单例模式,我把程序发给你,你先测试一下,bin调试,你应该知道吧? button1 是打开 form2 button2 是关闭 form2 不要颠倒顺序,因为我根本没有做验证。
表单 1.
private void button1_click(object sender, eventargs e)
private void button2_click(object sender, eventargs e)
自定义类。
class helper
-
如果 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 时写入; 然后在关闭时写下;
希望对你有所帮助!
您好,我推荐您购买魅族,魅族的做工是业界公认的顶级水平,但是由于时间的关系,魅族2已经停产了,我建议您购买魅族4。 >>>More
我第一次注意到可汗是在看到我们结婚的时候,当时我非常在意他对维多利亚的照顾,我开始以为只是为了拍戏,但得知后才发现可汗对大家都是那么温柔, 他的性格让人觉得很温暖,而且对女人很照顾,坤在国外生活了很久,自然也受洋风情的感染,男女关系没有那么拘束,也比较开放。 >>>More