C#中窗体之间的控件如何传递值,PS:窗体之间不是父子关系,只是值相互调用.

 我来答
yqsky3964
2013-06-10 · TA获得超过1875个赞
知道小有建树答主
回答量:1184
采纳率:0%
帮助的人:685万
展开全部
窗体传值两种方式:
一 :全局变量,1窗口里赋值,2窗口里直接调用;
二:构造函数,修改2窗体的构造函数,加参数,然后在1窗体里new2窗体对象的时候把1窗体的值以参数方式传递到2窗体,就可以了!
百试百灵!望采纳!!
追问
你说的第一种方法能具体一些吗?
第二种方法只能是窗体之间要连接,通过一个窗体打开另一个,如果只是单纯的调用值,窗体之间没有关系,这种方法就不能实现啊~~
追答
全局变量的意思你知道吧!你可以新建一个静态类,然后写几个属性,分别提供get和set方法就行了,然后在某个窗体赋值后,其他所有窗体都可以调用这些属性,不管窗体之间有没有关系!!
cz790365848
2013-06-10 · TA获得超过110个赞
知道小有建树答主
回答量:151
采纳率:66%
帮助的人:80万
展开全部
c#编程中,所有的控件都是Frend模式,就是在这个工程中都可以使用。可以直接用
FORMNAME.CONTROLNAME.PROPERTy=NEWFORM.CONTROLNAME.PROPERTY
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mendax007
2013-06-10 · TA获得超过246个赞
知道答主
回答量:123
采纳率:100%
帮助的人:50.4万
展开全部
添加一个公共类,通过公共类传递。
更多追问追答
追问
能举个例子吗?
追答

1.右击项目名——添加——类。

这里演示用类名PublicClass:一个公用静态变量PubStr,稍后把Form1中的信息赋值给PubStr,然后在Form2中显示出来。

class PublicClass
    {
        public static String PubStr;
    }

2.Form1中添加一个TextBox,Name=txtMessages;一个Button,Name=btnSend,Text="发送".

“发送”按钮代码:

private void button1_Click(object sender, EventArgs e)
        {
            PublicClass.PubStr = this.txtMessages.Text.Trim();
            this.Hide();
            Form2 fm2 = new Form2();
            fm2.Show();
        }

3.右击项目名——添加——新建项——Windows窗体。

这里演示用Form2,添加控件Label,Name=lblShow.

Form2的Load事件代码:

private void Form2_Load(object sender, EventArgs e)
        {
            lblShow.Text = PublicClass.PubStr;
        }

4.测试运行

 

 

另外,我多嘴两句。上面有位仁兄说修改构造函数我很不赞成,怕程序大了后患无穷。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式