2017-02-24 47 views
0

最近我一直在使用WPF搞乱很多,ik语法有些变化,但是其中一些问题可能是新的。从窗体到类的WPF空值

我想保存在mainform中的变量的连接信息,并从类内部获取值,但是当我做它们是NULL,我不知道他们为什么显示为空(我甚至有义务让他们在课堂上是静态的)。

public static MainMenu x = new MainMenu(); 
public string cn = "Data Source=" + x.sqlip + "; Initial Catalog=" + db + "; User ID=" + x.sqlid + "; Password=" + x.sqlpw + ";"; 

所以这是我的表单调用+连接字符串生成器,但是当我尝试获取它们为null的值。

public string sqlid, sqlpw, sqlip; 
//update details 
open.sqlid = sqlusr.Text; 
open.sqlpw = sqlpwd.Text; 
open.sqlip = sqlip.Text; 

所以最上面有2个例子。变量声明处于主菜单形式,并且更新详细信息在连接时位于加载表单中。

+0

open.sqlid中打开了什么? –

+0

打开=我的MainMenu窗体(我用open作为名称)就像我在x和sqlid中一样,sqlpw和sqlip是保存在我的班级中使用的值的变量,但它不起作用 – asgasg

+0

您的意思是'sqlid','' sqlpw'和'sqlip'全都为空?因为你从来没有设置任何东西。 'open.sqlid'和'sqlid'不一样。 –

回答

0

创建一个示例。试试这个希望你明白的角色static

class Program 
    { 
     public static class MainMenu 
     { 
      public static string sqlid = null; 
      public static string sqlpw = null; 
     } 

//Now a function will update values of variables 

     public void updateDetails() 
     { 
      MainMenu.sqlid = sqlusr.Text; 
      MainMenu.sqlpw = sqlpwd.Text; 
     } 

//Now if i need to use variable values 

     static void Main(string[] args) 
     { 
      Program p = new Program(); 
      p.updateDetails(); 

      public string cn = "Initial Catalog=" + db + "; User ID=" + MainMenu.sqlid + "; Password=" + MainMenu.sqlpw + ";"; 

     } 
}