在vb里从一个窗体form1得到另一个窗体form2中控件的值,直接写form2.text1.text就可以,在c#中如何实现 在vb里从一个窗体form1得到另一个窗体form2中控件的值,直接写form2.text1.text就可以在c#中如何实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先是MainFrm窗体,在MainFrm窗体中,拖一个ListBox控件即可,MainFrm.cs的代码如下:下面是对应的C#代码,MainFrm.cs:public partial class MainFrm: Form//引用Middle类{ private void MainFrm _Load(object sender, EventArgs e)//窗体的加载事件 { Middle.sendEvent += new Middle.SendMessage(this.DoMethod);//把方法注册到时间里 } public void DoMethod(string[] getstr) { //你要设置的属性 }}ChildFrm.cs:public partial class ChildFrm: Form//引用Middle类{ public ChildFrm () { InitializeComponent(); } private void btnAdd_Click(object sender, EventArgs e) { strInfo[] = textBox3 内容+textBox4内容。。 Middle.DoSendMessage(你要改的内容strInfo);//触发事件 }}Middle.cs:public static class Middle//{ public delegate void SendMessage(string[] str); public static event SendMessage sendEvent; public static void DoSendMessage(string[] str) { sendEvent(str); }} 通过工具栏拖到VS设计器上 该控件的默认访问性是protected 你把改成public 即可在其他窗体中 使用~~~ 1楼是定义了个共有方法公开了私有/受保护对象2楼直接公开了私有/受保护对象欲解决不同线程问题,你可以使用1楼或者直接invoke public class form1{ Form2 frm = new Form2(); public form1() { } // 将Form2当作一个对象传递给Form1 public form1(Form2 frm) { this.frm = frm; }}同时,把Form2的textbox1 的属性设置成public 那样的话就可以用 Form2的textbox1了, frm.textbox1.text 补充:必须要把Form2当作一个对象传递给Form1 C#和VB的FORM在概念上完全不同的,在VB里,所有的Form等于是已实例化的全局对象,所以任何地方都可以调用form,如果在C#里要做到这样,可以把form实例化的全局变量,然后再按2楼做法就O了... 关于Winform中DataGridView数据绑定的选中行问题 MF 工作流问题 一个.net面试题,求解 急,asp.net访问局域网内的网络文件“未知用户名或错误密码” INI文件教程! xml修改数据问题 【shrinerain请进】请问有没有AutoTester.Net使用帮助文档啊! 新手求助~~ winform 激活传值的问题 ?如何判断一个字符串是不是数字格式? C# 中radiobutton的使用 statusStrip1上的toolStripStatusLabel1如何右对齐?
下面是对应的C#代码,MainFrm.cs:
public partial class MainFrm: Form//引用Middle类
{
private void MainFrm _Load(object sender, EventArgs e)//窗体的加载事件
{
Middle.sendEvent += new Middle.SendMessage(this.DoMethod);//把方法注册到时间里
}
public void DoMethod(string[] getstr)
{
//你要设置的属性
}
}
ChildFrm.cs:
public partial class ChildFrm: Form//引用Middle类
{
public ChildFrm ()
{
InitializeComponent();
}
private void btnAdd_Click(object sender, EventArgs e)
{
strInfo[] = textBox3 内容+textBox4内容。。 Middle.DoSendMessage(你要改的内容strInfo);//触发事件
}
}
Middle.cs:
public static class Middle//
{
public delegate void SendMessage(string[] str);
public static event SendMessage sendEvent;
public static void DoSendMessage(string[] str)
{
sendEvent(str);
}
}
2楼直接公开了私有/受保护对象欲解决不同线程问题,你可以使用1楼或者直接invoke
{
Form2 frm = new Form2();
public form1()
{
} // 将Form2当作一个对象传递给Form1
public form1(Form2 frm)
{
this.frm = frm;
}
}
同时,把Form2的textbox1 的属性设置成public 那样的话就可以用 Form2的textbox1了, frm.textbox1.text