不难,但是繁琐
例子1:a 需要让外部访问就不要定义成private,如果你非要定义成private,就在Form2中传事件到Form1,在a赋给事件参数,这要求参数是传引用。如果将a定义成public则可以重写Form2的构造函数,在构造时将整个Form1传给Form2,这样在Form2就可以随意蹂躏Form1了,访问a更是小cause。
//构造函数
public Form2(Form1 form1)
{
InitializeComponent();//原来默认构造函数就有的,复制过来 TextBox1.Text=form1.a.ToString();
}//使用
Form2 about = new Form2(this);
about.ShowDialog();
例子2:将form1中加入一个属性string strval
{
get{ return textbox1.text}
set { textbox1.text=value}
}
然后在form2的click事件中加入
Form1 dd = new Form1()
dd.strval = "aaaaaa"
这样点击form2的button1时form1中的textbox1显示"aaaaaa"
解决方案 »
- C# 如何把二进制里的"1"变"0"把"0"换成"1"呢
- 当窗体FormBorderStyle属性为None时候如何拖动窗口边缘调整窗口大小呀
- 在COM组件生成实例时,可否带参数?
- 怎么样判断csv文件里面有多少行数
- 传递参数给main函数后 这个参数要在窗体里面使用到的 该怎么办
- 一百分求变态SQL代码,在线等。答对全得。
- winfrom中,将窗体中所有的textbox的内容保存到excel中?
- 我等了3个钟头,为什么一直没人回答我的问题!!!!
- ###### 一个菜鸟级的问题 #################
- 请问C#中有没有类似VB中MID()这种功能的取字符串函数??
- +++再问Dotnet安装部署???
- 如何将音频文件拖动到listBox中,并能够播放它?请高手指教!
mFrm.button.text = "NO";
mFrm.Show();
mFrm.button.text = "NO";
Form1 f1=new Form2();
f1.Show();
有两种方法:
1:把form2中的控件申明为public型,当在form1中事例化form2时
public class form2:Form{
public Label label;
public form2(){
label=new Label();
...
}
}
public class form1:Form{
public form1(){
form2 f=new form2();
f.label.Text="test" //可以调用了
...
}
}
方法二:
public class form2:Form{
public static Label label;
public form2(){
form2.label=new Label();
...
}
}
public class form1:Form{
public form1(){
form2.label.Text="test" //可以调用了
...
}
} wish u good luck
Greatsft
delphi转C#已1个多月了,现在还是云雾里,
连个都是面向对象,怎么C#这么复杂,
delphi做上面说的事情只一句 form2.button1.caption:='hello'就可以了,
而C#里这么多的new来new去的,我还要不要继续C#下去了?给点建议吧
public static Form2 FormInstance;
再将button控件修饰符设为public。Form1的某个事件中添加
Form2.FormInstance.button.text = "no";这是最简单的办法,如果想知道更多
http://www.csdn.net/Develop/read_article.asp?id=26433
http://www.csdn.net/Develop/read_article.asp?id=26434
http://www.csdn.net/Develop/read_article.asp?id=26436
前两天我也被这个问题困扰感谢polarlm(今年本命年) ,不敢邀功。随便也帮你一下