一个很简单的问题,可是我就是不会,书上也没讲(100分) ??引用textbox:项目.窗体名称.textbox.text 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 运用javascriptResponse.Write("<script language=javascript>\n");Response.Write("window.operner.MainWindowFormName.textboxOfMainWindow.value = " + textbox.text + ";\n");Response.Write("</script>"); 我的意思就是说:用主窗体(a)的按钮启动另外一个窗体(b),用户从b的一个textbox中录入文本,确认后,关闭b,回到a,此时a中的一个textbox已经得到用户输入的文本。要求b(用show方法而不是showdialog方法)打开时a隐藏,而a不能close,因为上面可能有数据 在主視窗 (a) 設定一個全域靜態變數,如 public static string mstrVar;在另一個窗口可以直接設定主窗口 (a) 的值,例(a) Class 名稱.mstrVar = textbox.text 两种方法:第一种:将第二个窗口中的TextBox定义为public,从第一个窗口中直接b.textbox.text读第二种:在第二个窗口中定义一个public型的变量,然后第二个窗口关闭时将textbox中的内容读到变量中。第一个窗口使用定义的public变量 两种方法:第一种:将第二个窗口中的TextBox定义为public,从第一个窗口中直接b.textbox.text读第二种:在第二个窗口中定义一个public型的变量,然后第二个窗口关闭时将textbox中的内容读到变量中。第一个窗口使用定义的public变量 你的要求是不行的因为Show和ShowDialog的区别在于模式ShowDialog在莫某种意义上讲一个消息等待循环他屏弊了主窗口的消息,此时你选不到主窗口所以主窗口的消息停止在ShowDialog这一行如果用Show的话只是一个普通窗口主窗口仍然可以响应比如说这样一个过程TestForm myFrom=new TestForm();myForm.Show;myForm.TextBox1.Text="Test";MessageBox.Show(myForm.TextBox1.Text;);这时程序在执行完myForm.Show;立刻执行myForm.TextBox1.Text="Test";MessageBox.Show(myForm.TextBox1.Text;);所以你会看到一个消息框告诉你TextBox1的值当myFrom关闭时会调用自身的Destory如果用 ShowDialogTestForm myFrom=new TestForm();myForm.ShowDialog;myForm.TextBox1.Text="Test";MessageBox.Show(myForm.TextBox1.Text;);如果用ShowDialog此时myForm成为模式窗口主窗口不再响应消息程序停留在myForm.ShowDialog;当关闭myForm之后myForm没有立即Destory而在在这个过程结束之后即离开myFrom所存在的域前进行Destory所以你只能用ShowDialog其实你也可以用其它的方法比如说myForm在关闭之前向主窗口发消息或调用其函数进行传值都可以不过就麻烦了 天哪,难道一定要public,这样跟vb6.0有什么分别嘛我想应该在b中引用a的类名,可是不知道怎么弄高手哪去了 你说的好像是show和showdialog的区别,但是并没有回答我的问题呀能不能a启动b的时候,给b一个自身的类标识(如果是C++应该是指针),然后在b中就可以引用主窗体了,这样具体应该怎么样实现呢?你是原来北航的王磊么?怎么给分?我想给你分,对了我给你分了是不是自己就没有分了?我刚来 可以設為屬性,用 set/get 存取變數例如:private static string mstrVar;public static string Var{ set { mstrVar = value;}}必須設成靜態變數才能在第二個窗口直接設定主窗口的值。 终于成功了,可以这样实现1:新建一个Window工程2:添加一个窗口Form23:在Form1里加一个TextBox1,和一个按钮Button1,在Form2里面增加一个TextBox24:在Form1里添加一个函数:public void CopyText(string strX) { this.textBox1.Text=strX; }5:在Form2里面添加一个Form1对象变量private Form1 frm1;6:改写Form2的构造函数Form2()为public Form2(Form1 sender){InitializeComponent();frm1=sender;}7:将下面一句加入Form2的textBox2_TextChanged事件函数frm1.CopyText (textBox1.Text);8:将下面一句加入Form2_Closing事件函数frm1.Show();9:将下面几句加入Form1的Button1_Click事件函数Form2 f2=new Form2(this );f2.Show();this.Hide();给分吧,兄弟 对不起,上面第7步应该为:frm1.CopyText (textBox2.Text); 太感谢了我已经给分了,看到了么?心得:类外不能修改的类成员变量,可以通过成员函数修改。通过重写form构造函数可以传递其他类引用,这恐怕是C#比VB6的最大好处 求助? 求一组数中的重复数? 跪求:C# 程序出现提示音代码 C#如何将窗口设置屏幕高度,而宽度是固定的? 远程反序列化的问题???????? 关于DateTimePicker控件 c#调用delphi开发的dll 函数问题,请熟悉的朋友帮忙! C#中Attribute怎么使用啊,有哪位高手说说看! ASP.NET里能不能直接做安装包? 在web brower 嵌套的网页中启动过本地程序 DataGrid使用的源代码! 为什么我的文件读不出来了?
Response.Write("<script language=javascript>\n");
Response.Write("window.operner.MainWindowFormName.textboxOfMainWindow.value = " + textbox.text + ";\n");
Response.Write("</script>");
第一种:将第二个窗口中的TextBox定义为public,从第一个窗口中直接b.textbox.text读
第二种:在第二个窗口中定义一个public型的变量,然后第二个窗口关闭时将textbox中的内容读到变量中。第一个窗口使用定义的public变量
第一种:将第二个窗口中的TextBox定义为public,从第一个窗口中直接b.textbox.text读
第二种:在第二个窗口中定义一个public型的变量,然后第二个窗口关闭时将textbox中的内容读到变量中。第一个窗口使用定义的public变量
因为Show和ShowDialog的区别在于模式
ShowDialog在莫某种意义上讲一个消息等待循环
他屏弊了主窗口的消息,此时你选不到主窗口
所以主窗口的消息停止在ShowDialog这一行
如果用Show的话
只是一个普通窗口
主窗口仍然可以响应
比如说
这样一个过程TestForm myFrom=new TestForm();
myForm.Show;
myForm.TextBox1.Text="Test";
MessageBox.Show(myForm.TextBox1.Text;);
这时程序在执行完myForm.Show;立刻执行
myForm.TextBox1.Text="Test";
MessageBox.Show(myForm.TextBox1.Text;);
所以你会看到一个消息框告诉你TextBox1的值
当myFrom关闭时
会调用自身的Destory
如果用 ShowDialog
TestForm myFrom=new TestForm();
myForm.ShowDialog;
myForm.TextBox1.Text="Test";
MessageBox.Show(myForm.TextBox1.Text;);
如果用ShowDialog
此时myForm成为模式窗口
主窗口不再响应消息
程序停留在myForm.ShowDialog;
当关闭myForm之后
myForm没有立即Destory
而在在这个过程结束之后
即离开myFrom所存在的域前进行Destory所以你只能用ShowDialog其实你也可以用其它的方法
比如说myForm在关闭之前向主窗口发消息
或调用其函数进行传值都可以
不过就麻烦了
{
set { mstrVar = value;}
}必須設成靜態變數才能在第二個窗口直接設定主窗口的值。
1:新建一个Window工程
2:添加一个窗口Form2
3:在Form1里加一个TextBox1,和一个按钮Button1,在Form2里面增加一个TextBox2
4:在Form1里添加一个函数:
public void CopyText(string strX)
{
this.textBox1.Text=strX;
}
5:在Form2里面添加一个Form1对象变量
private Form1 frm1;
6:改写Form2的构造函数Form2()为
public Form2(Form1 sender)
{
InitializeComponent();
frm1=sender;
}
7:将下面一句加入Form2的textBox2_TextChanged事件函数
frm1.CopyText (textBox1.Text);
8:将下面一句加入Form2_Closing事件函数
frm1.Show();
9:将下面几句加入Form1的Button1_Click事件函数
Form2 f2=new Form2(this );
f2.Show();
this.Hide();
给分吧,兄弟
应该为:frm1.CopyText (textBox2.Text);