还有,您认为C#中,窗体之间的传值,那种方法比较好,可否也给个实例?非常感

吴青峰 2008-09-03 08:32:24
还有,您认为C#中,窗体之间的传值,那种方法比较好,可否也给个实例?非常感
...全文
140 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linzhe423 2008-09-05
  • 打赏
  • 举报
回复
up
阿泰 2008-09-05
  • 打赏
  • 举报
回复
mark
cww2010 2008-09-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 atlasroben 的回复:]
公共变量
比如静态的变量,比较频繁的窗体共有变量调用一般我用这个

C# code //标志急阅文件窗口是否打开
public static bool bolfrmHurryOpen = false;




构造函数
有时候需要控制传值的窗体是子窗体就直接用构造函数

C# code public frmFilesIn(string strFile_Path)
{
InitializeComponent();
strFilePath = strFile_Path;
}



公开属性,

C# code …
[/Quote]
吴青峰 2008-09-04
  • 打赏
  • 举报
回复
可否给个实例?感激不过!!!
我要的就是这种方法,摆脱了
amandag 2008-09-03
  • 打赏
  • 举报
回复
还有,您认为C#中,窗体之间的传值,那种方法比较好,可否也给个实例?
==
方法1
使用 委托来解决,这个应该比较正规

方法2
在所有的窗体中给一个主窗体,所有的数据通过主窗体进行交互(主窗体未必一定是mdi窗体),这样的好处是各个子窗体都不需要知道其他子窗体的存在,比较符合松耦合的精神,你看看asp.net的 ScriptManager或者WebPartManager就是这样的思想

方法3
在窗体的构造中传递本窗体的引用,可能需要把某些控件设置为public或者公开一些属性,然后做自己要做的事,这个应该比较不正规,但是容易实现,一般的小程序这样用用无妨
adodotnet 2008-09-03
  • 打赏
  • 举报
回复
winfrom?

delegate。

不过,我个人认为最好还是用event,本质上一样,不过显得更规范些。
a7390120 2008-09-03
  • 打赏
  • 举报
回复
其实怎么弄都可以,看开发效率和性能.你想偷懒和省事,你就直接通过构造函数把整个窗体传过去.UP
lcdsda 2008-09-03
  • 打赏
  • 举报
回复
楼主用了“窗体”这两个字,应该是winform吧
用公共变量,用public声明,如public bool flag = true;
构造函数也是一种方法,具体使用参照楼上各位代码
winner2050 2008-09-03
  • 打赏
  • 举报
回复
比如有个frm1,有个frm2.

frm1 里面有个TextBox TB_username
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 也会跟着变的.
JeffChung 2008-09-03
  • 打赏
  • 举报
回复
winform还是webform?

winform的话不需要怎样传值了吧?
atlasroben 2008-09-03
  • 打赏
  • 举报
回复
公共变量
比如静态的变量,比较频繁的窗体共有变量调用一般我用这个
 //标志急阅文件窗口是否打开
public static bool bolfrmHurryOpen = false;



构造函数
有时候需要控制传值的窗体是子窗体就直接用构造函数
  public frmFilesIn(string strFile_Path)
{
InitializeComponent();
strFilePath = strFile_Path;
}


公开属性,
 单独的控制一些子窗体的特殊属性我用这个
public bool bolfrmHurryOpen ;



使用消息队列
情况复杂点的时候,用消息队列比如我有个发短消息的东西,不是同一个项目,是2个不同的程序
这个代码就比较多点,看msdn上面有详细示例


都可以做到窗体间传值,具体的方式根据情况不同处理哈~~

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧