还有,您认为C#中,窗体之间的传值,那种方法比较好,可否也给个实例?非常感
解决方案 »
- 关于wpf中treeview的右击事件
- 使用商业控件DEV了,如何能够达到点击工具栏按钮弹出个浮动窗体
- msvcr80d.dll 为无效的windows映像
- 请教各位,这段代码的意思!
- html控件取值 急急急急
- 微博通 如何获取 APPKey
- WPF TreeView 样式
- 关于MSChart,微软超级强大的图表控件。
- 怎样将原有的datatable中特定的某一行的某几个字段的值改写,且这一行在表中的位置不变?
- C# FDFS client 下载的时候如果buffer 设置大于1024 得到的文件不正确,无法正常打开,请教高手看看,谢谢,代码如下
- 这段代码里面调用一个函数的时候没有传参,连()都没有,这是什么机制?好迷惑啊...(代码在帖子里面)
- 这的什么原因呀?
比如静态的变量,比较频繁的窗体共有变量调用一般我用这个
//标志急阅文件窗口是否打开
public static bool bolfrmHurryOpen = false;
构造函数
有时候需要控制传值的窗体是子窗体就直接用构造函数
public frmFilesIn(string strFile_Path)
{
InitializeComponent();
strFilePath = strFile_Path;
}公开属性,
单独的控制一些子窗体的特殊属性我用这个
public bool bolfrmHurryOpen ;使用消息队列
情况复杂点的时候,用消息队列比如我有个发短消息的东西,不是同一个项目,是2个不同的程序
这个代码就比较多点,看msdn上面有详细示例
都可以做到窗体间传值,具体的方式根据情况不同处理哈~~
frm2 里面是显示数据库里面所有用户的列表把frm2里面的
public frm2()
{
}
改成
TextBox __UN;
public frm2(TextBox 输入的TextBox)
{
__UN=输入的TextBox;
}那么在frm1 里面执行new frm2(TB_username).Show();frm2里面写__UN.Text="admin";frm1 的TB_username 也会跟着变的.
用公共变量,用public声明,如public bool flag = true;
构造函数也是一种方法,具体使用参照楼上各位代码
==
方法1
使用 委托来解决,这个应该比较正规方法2
在所有的窗体中给一个主窗体,所有的数据通过主窗体进行交互(主窗体未必一定是mdi窗体),这样的好处是各个子窗体都不需要知道其他子窗体的存在,比较符合松耦合的精神,你看看asp.net的 ScriptManager或者WebPartManager就是这样的思想方法3
在窗体的构造中传递本窗体的引用,可能需要把某些控件设置为public或者公开一些属性,然后做自己要做的事,这个应该比较不正规,但是容易实现,一般的小程序这样用用无妨