有两个窗体
一个a,一个b
点周a窗体上的一个按钮,弹出b窗体,我在现在在b窗体上操作完成后,点击b窗体上的一个完成按钮后,关闭该页面,(a窗体始终没有关闭,是作为父窗体存在的。),这时我想让在b窗体里操作完成后的一个值在a窗体也就是父窗体里显示出来??怎么传呀?
在b/s里我可以刷新父页面。在winform里怎么做呀?谢谢
我想在上点击完成按钮时做完这两个操作,一个是关闭该窗体,另一个是传给父窗体哪个值,并显示出来
一个a,一个b
点周a窗体上的一个按钮,弹出b窗体,我在现在在b窗体上操作完成后,点击b窗体上的一个完成按钮后,关闭该页面,(a窗体始终没有关闭,是作为父窗体存在的。),这时我想让在b窗体里操作完成后的一个值在a窗体也就是父窗体里显示出来??怎么传呀?
在b/s里我可以刷新父页面。在winform里怎么做呀?谢谢
我想在上点击完成按钮时做完这两个操作,一个是关闭该窗体,另一个是传给父窗体哪个值,并显示出来
解决方案 »
- 如何做B/S模式界面
- gridview控件的OnPageIndexChanged问题
- C#绘制直线
- 在父窗口中如何操作子窗口?
- 怎样提高界面刷新效率?
- 实现导出为 .txt格式(在线求解)
- 按F键显示窗体,再按隐藏(托盘也可)
- 同样的程序,通过菜单执行和通过按钮执行怎么结果不一样?
- 高手!看看用了那家的新技术:WWW.JOB1890.COM WWW.ECHINASOUND.COM!!!!
- 寻找C#开发IE内核浏览器相关资料
- 我在两个数据库间导数据(任务线程),我想做个进度条显示进度(UI线程)。那任务线程怎么用事件机制公布任务的进行比例?谢谢
- 100分求:我在本机上开发好了webservice,怎么发布在服务器上,服务器.net矿家都安装好了,iis也好了
http://blog.csdn.net/zhzuo/archive/2004/04/05/22028.aspx
http://blog.csdn.net/zhzuo/archive/2004/04/05/22029.aspx
传值用
1.static
2.属性
a.creategraphics().drawstring(b.somevar.tostring()......)
在父窗体中用就好了
this.close();
传值 用static 应该可以 ,或者是((父窗口)parent).property =''最近刚接触 可以看看
b窗体:
……
public static string Value;
……
b窗体的关闭按钮的事件:
{
a.textbox.text = Value;
this.close();
}
我哪儿错啦?
在form1里我设文件框的Modifiers的属性设为Public
form1中打开:
Form2 fr = new Form2();
fr.ShowDialog();
在form2中一个按钮事件里这么写的:
sValue = "asdddddddddddddddd";
Form1 abc = new Form1();
abc.textBox1.Text = sValue;
this.Close();
这样是窗体关闭了
但form1窗体中并没有显示哪个值呀?我在form1中有一个textBox1控件
form2中有一个textBox11控件
哪儿出错啦
Form1:
public void setTextValue(string sValue)
{
this.textBox1.Text = sValue;
}private void button1_click(...)
{
Form2 fr = new Form2();
fr .frmmain = this;
fr.ShowDialog();
}Form2:
public Form1 frmmain;
private void button2_click(...)
{
string sValue = "asdddddddddddddddd";
frmmain.setTextValue(sValue);
}
public class form1:Form
{
public static form1 frm;}
static void main()
{
form1 a=new form1();
form1.frm=fm;}
在b 中调用a 时用form1.frm+属性
用一个b 的关闭事件,在事件中
form1.frm.Text="....";
lyvvvv(lyvvvv) (
你说的方法在delphi里绝对可行
但这儿我怎么试怎么不行
真气晕我啦
public static System.Windows.Forms.TextBox T_WebSite;子窗体关闭时的代码:
Form1.T_WebSite.Text = "http://www.sohu.com";
this.Close();不过文本框声明为静态后可能会在设计界面消失,但是调试时会出现在界面上的,不清楚为什么。。
当然,还有一个更好的方法,自定义一个传值的委托,再用这个委托定义事件,然后在form1的事件响应函数时就可以直接从参数里取值了。
this.Close();
这样好像有问题,用VISIBLE可以的
在form2中定义一个
private static FlowSetSe.form1 frm;
这儿也有一个提示,说从末对字段FlowSetSe.form2的frm赋值,该值将一直保持为null
在form2中的窗体控件关闭按钮事件中
frm.txt_cn.Text = "33333333";
出错
提示末将对像设置到对像的实例??帮我看看出错在哪儿?
在主窗体中设个public static bool Repaint 变量,在弹出窗体中处理你要处理的操作,如果需要刷新主窗体,在它的Closing事件中将Repaint 设为true在主窗体的OnPaint()中判断 Repaint 是否为 true,如果为true,则执行主窗体的刷新,刷新后在把Repaint 设为false我原来这样做过,供你参考
定义属性加一个事件就行了,当关闭form2时调用这个事件,form1中设定这个事件的响应函数,函数里取form2的该属性,工作就完成了。
当然,还有一个更好的方法,自定义一个传值的委托,再用这个委托定义事件,然后在form1的事件响应函数时就可以直接从参数里取值了。不行吗?用静态变量,还将父窗体赋给子窗体,逻辑都乱了。
public delegate void myMethodDelegate( string myString );form1:
private void button1_Click(object sender, System.EventArgs e)
{
form2.close += new myMethodDelegate(form2_close);
form2.ShowDialog();
} private void form2_close(string myString)
{
te.Text = myString;
}form2:
private void button1_Click(object sender, System.EventArgs e)
{
if (close != null)
{
this.close(this.textBox1.Text);
this.Close();
}
} public event myMethodDelegate close;如果不懂就留个email。我发给你,看是不是你要的。
谢谢
[email protected]
fengcan(长风)
我知道啦
this.close(this.textBox1.Text);
这个close
一般的我一打个this.就出来哪个Close()啦
所以一直出错
谢谢呀