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

解决方案 »

  1.   

    公共变量
    比如静态的变量,比较频繁的窗体共有变量调用一般我用这个
     //标志急阅文件窗口是否打开
            public static bool bolfrmHurryOpen = false;
    构造函数
    有时候需要控制传值的窗体是子窗体就直接用构造函数
      public frmFilesIn(string strFile_Path)
            {
                InitializeComponent();
                strFilePath = strFile_Path;
    }公开属性,
     单独的控制一些子窗体的特殊属性我用这个
    public bool bolfrmHurryOpen ;使用消息队列
    情况复杂点的时候,用消息队列比如我有个发短消息的东西,不是同一个项目,是2个不同的程序
    这个代码就比较多点,看msdn上面有详细示例
    都可以做到窗体间传值,具体的方式根据情况不同处理哈~~
      

  2.   

    winform还是webform?winform的话不需要怎样传值了吧?
      

  3.   

    比如有个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 也会跟着变的.
      

  4.   

    楼主用了“窗体”这两个字,应该是winform吧
    用公共变量,用public声明,如public bool flag = true;
    构造函数也是一种方法,具体使用参照楼上各位代码
      

  5.   

    winfrom?delegate。不过,我个人认为最好还是用event,本质上一样,不过显得更规范些。
      

  6.   

    还有,您认为C#中,窗体之间的传值,那种方法比较好,可否也给个实例?
    ==
    方法1
    使用 委托来解决,这个应该比较正规方法2
    在所有的窗体中给一个主窗体,所有的数据通过主窗体进行交互(主窗体未必一定是mdi窗体),这样的好处是各个子窗体都不需要知道其他子窗体的存在,比较符合松耦合的精神,你看看asp.net的 ScriptManager或者WebPartManager就是这样的思想方法3
    在窗体的构造中传递本窗体的引用,可能需要把某些控件设置为public或者公开一些属性,然后做自己要做的事,这个应该比较不正规,但是容易实现,一般的小程序这样用用无妨