日期:2014-05-18 浏览次数:20847 次
private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Show(this); }
------解决方案--------------------
from1的代码
private void button1_Click(object sender, EventArgs e)
{
From2 f=new From2("要传人的值");
}
from2的
public frm_ShortCut(string s)
{
InitializeComponent();
str=s;
}
private string str="";
------解决方案--------------------
Form3窗体 放一个Label,手动将Label的访问权限改为 public 。
Form4窗体 放一个Form3的属性
public partial class Form4 : Form
{
public Form3 f3;
public Form4()
{
InitializeComponent();
}
private void Form4_Load(object sender, EventArgs e)
{
}
private void Form4_FormClosed(object sender, FormClosedEventArgs e)
{
if (f3 != null)
{
f3.label1.Text = "OK";
}
}
}
在一个主窗体中From2
private void Form2_Load(object sender, EventArgs e)
{
Form4 f4 = new Form4();
f4.f3 = new Form3();
f4.Show();
f4.f3.Show();
}
------解决方案--------------------
看我的,刚刚弄过
父窗里代码加一个子窗的关闭事件:
chidform cf = new chidform();
cf.FormClosing += new FormClosingEventHandler(bookIndex_FormClosing);
cf .show()
在父窗再加把FormClosingEventHandler里加个方法给textbox赋值就OK了
------解决方案--------------------
设有窗口FormA和FormB:关闭FormA时写:
FormB formB=Application.OpenForms["FormB"] as FormB;
formB.textBox1.Text="新值";
FormB的textBox1要设置为public。这样键入formB.后textBox1就出来了。
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2 .SetValues+= new f2 .SetValuesHandler(f2_SetValues);
f2.Show();
}
void f2_SetValues(string txt)
{
textBox.text=txt;
}
public delegate void SetValuesHandler(string text);
public event SetValuesHandler SetValues;
private void button1_Click(object sender, EventArgs e)
{
SetValues("text");
this.Close();
}
------解决方案--------------------
搞那么复杂干吗 就A页面定义 static public string bl = "";
A页面 调用B 按钮代码如下
XzmxForm xzmx = new XzmxForm(); //实例化B页面
xzmx.htbh = htbh.Text.ToString();
DialogResult dr = xzmx.ShowDialog();
if (dr == DialogResult.OK)
{
}
B页面操作完 后
A.bl = ""; //这里你要B到A的值
this.DialogResult = DialogResult.OK;
------解决方案--------------------
方法多了,
可以定义委托事件
可以设置控件的访问域
可以自己定义属性来访问
------解决方案--------------------
为何不直接传一个对象过去
TextBox b = new TextBox();
A a = new A(b);
在a里改b的text就可以了