2017-02-24 72 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 + ";"; 

     } 
}