社区
C#
帖子详情
C#中的多窗体的问题
weiwei6054
2004-12-26 06:02:32
用VS.NET开发C#应用时,创建Windows应用程序,自动生成一个窗体Form1,主函数中有语句
Application.Run(new Form1());
向项目中添加一个新的窗体Form2,请问怎样在Form2生成对象form2中访问Form1中的数据与方法?
本人郁闷好久的一个问题了!
...全文
184
17
打赏
收藏
C#中的多窗体的问题
用VS.NET开发C#应用时,创建Windows应用程序,自动生成一个窗体Form1,主函数中有语句 Application.Run(new Form1()); 向项目中添加一个新的窗体Form2,请问怎样在Form2生成对象form2中访问Form1中的数据与方法? 本人郁闷好久的一个问题了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DotNetFreak
2004-12-27
打赏
举报
回复
yeah, i'm just stupid to waste my time on some sorry little shit like you while i can get US$50/hour after tax
weiwei6054
2004-12-26
打赏
举报
回复
将Form1中需被访问的数据设成public和static的属性
即搞定了
因为Form1类有些特殊,她其中包含有入口函数Main()
其他的窗体比这个应该更好搞定了
weiwei6054
2004-12-26
打赏
举报
回复
愚人终于搞清楚了,多谢大家的讨论!
hanyaocsdn
2004-12-26
打赏
举报
回复
up
weiwei6054
2004-12-26
打赏
举报
回复
对, 仁兄k3world(雷锋)说得对,那个值始终时0
但是把在Form1中把i改成static 编译是不通过得啊!
你有什么好办法吗?
k3world
2004-12-26
打赏
举报
回复
是 "button1" + "0",所以是"button10"吧。
C#中没有全局变量的概念,你可以通过使用静态变量来实现。如果还有问题请继续。
weiwei6054
2004-12-26
打赏
举报
回复
在以上代码中:
在Fom1中把要访问的变量做成Static的
编译不会通过,我过去也是那样想的!
weiwei6054
2004-12-26
打赏
举报
回复
不知为不知,知之为知之!
英语水平差就不要在这儿卖了,千万不要自造单词,这样更让人觉得horrible
回去好好查差你的字典——concepturally ?
没有字典的话用这个:
http://cb.kingsoft.com/
强烈推荐国产软件
天外怪魔
2004-12-26
打赏
举报
回复
在Fom1中把要访问的变量做成Static的。
要用的时候这样:
Form1 f1 = New Form1();
....f1.Variable
DotNetFreak
2004-12-26
打赏
举报
回复
this is concepturally horrible to discuss such issue
weiwei6054
2004-12-26
打赏
举报
回复
好像加了那个构造函数还是不行啊,那个值仍然时初始,并不随之变化。
我的搞个简单的例子说明我的意思:
在Form1(主窗体)中声明一个变量 public int i = 0 ;
在工程工添加另外一个窗体Form2
在Form1上添加按钮和事件
private void button1_Click(object sender, System.EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
this.i = this.i + 10;
this.Text = i.ToString();//改变i的值
}
在Form2类中声明对象 public Form1 form1;
加上构造函数
public Form2(Form1 f):this()
{
form1 = f;
}
在Form2中添加按钮和事件
private void button1_Click(object sender, System.EventArgs e)
{
Form1 form1 = new Form1();
this.Text = form1.button1.Text;
this.Text = this.Text + form1.i;
}
在form2上显示i值始终时10
怎么样让它改变呢,各位大虾改一下吧!
weiwei6054
2004-12-26
打赏
举报
回复
加不加static 效果都一样!
lzhliang
2004-12-26
打赏
举报
回复
按照我得理解,赋值的时候应该是传递的内存地址,所以一个更新,另外一个自动更新。因为我在写多个form的东西的时候,都是自动更新的,并没有用到static。
zlopen
2004-12-26
打赏
举报
回复
顶
改天试试
kqh0319
2004-12-26
打赏
举报
回复
将FORM1声明为static 的
weiwei6054
2004-12-26
打赏
举报
回复
多谢了,这样是可以访问的,但是若是再Form1的方法中改变了Form1中东西的之后,
再在Form2中访问的还是原来那个值,这个怎么解决呢?
lzhliang
2004-12-26
打赏
举报
回复
写一个在form2的constructor
在From2 中定义一个from1的变量
public Form2(Form1 f):this()
{
form1=f;
}
你就可以用Form1中的东西了
C#
自定义
窗体
美化
采用GDI+对
窗体
进行美化,代码分析文章可见我的博文《
C#
中
窗体
美化》http://www.cnblogs.com/Keep-Silence-/archive/2013/01/09/2852937.html
[精]
C#
实现Win8
窗体
(SkinForm Demo)
项目名称:[精]
C#
实现Win8
窗体
(SkinForm Demo) 界面库版本号:7.5 最新版本 下载内容: (
C#
)Win8
窗体
Demo源码一份, 可引用至工具箱最新版dll一份 实现功能: 1.发光标题。 2.直角边框和阴影。 3.扁平化系统按钮。 4.多系统支持,不需要win8系统。 5.自定义控件的美化使用。 小编:下载不要分,DEMO教你如何熟练使用SkinForm界面库美化自己的
窗体
。 友情链接:http://bbs.csdn.net/topics/390510544(精仿QQ2013局域通讯)
C#
窗体
TabControl控件美化版源代码TabControlEx
话不多说,
C#
窗体
TabControl控件美化版源代码TabControlEx,就是美化标签页,大家可以下载下来看看。新手可以学习学习,老鸟飘过吧
C#
IP地址输入控件
C#
IP地址输入控件,一个IP控件,由
C#
语言编写,该IP控件很好的解决了关于MaskedTextBox显示IP的不足 ,你可以像调用一般控件那样来使用它,不用另外编写其它代码,非常方便。
tabcontrol动态生成选项卡,并添加
窗体
c#
tabcontrol动态生成选项卡,并添加
窗体
C#
110,538
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章