2014-04-12 60 views
0

在我的Windows應用程序中,我正在使用MS訪問數據庫。在mainForm(包含菜單)中,用戶將通過對話框選擇(打開)數據文件。他將能夠選擇一個菜單來訪問其他表單。如何將數據庫文件名通過一種形式傳遞到另一種形式

這裏我需要將數據文件名存儲在一個變量中,並在連接字符串中使用相同的數據文件名來從選定的數據文件中獲取數據。

如何將選定的數據庫文件名通過一種形式傳遞給另一種形式。

在表格1中,我聲明瞭一個變量;

public string dtFile; 

我在打開文件對話框中將文件路徑存儲在dtfile變量中。

dtFile = openFileDialog.FileName;

在窗口2我寫

Form1 frm = new Form1; string strDataFile = frm.dtFile;

在這裏我得到空值。如何獲得從2

+0

您可以在第二種形式 –

+0

@Ehsan薩賈德的構造函數通過選擇文件名。文件名稱公共變量在Form1中。我在Form2中創建了一個form1對象。這裏我沒有收到數據。它顯示'null' – Sanjeev4evr

+0

看到答案希望它指導你正確的方式 –

回答

1

你可以做這樣的表1的dtFile變量的數據,您將能夠訪問其他形式在Form1上的所有東西:

private void button1_Click(object sender, EventArgs e) 
    { 
    Form1 newform = new Form1(); 
      newform = this; 
      this.Hide(); 
      MySecform = new Form2(ref newform); 
      MySecform.Show(); 
    } 

另一種方法周圍是使用自定義事件:

這裏查看詳細信息:

http://www.codeproject.com/Articles/17371/Passing-Data-between-Windows-Forms

,你也可以做出靜態類如果希望值是在所有形式的應用程序的訪問:

static class Global 
{ 
    private static string _globalVar = ""; 

    public static string GlobalVar 
    { 
     get { return _globalVar; } 
     set { _globalVar = value; } 
    } 
} 
0

在第一種形式聲明dtFileName作爲靜態變量。

public static string dtFileName; 

通過對話框

dtFileName = openFileDialog.FileName; 

而且在窗口2

public partial class Form2 : Form 
    {   
     string strDataFilePath = ""; 

     public Form2() 
     { 
      InitializeComponent();    
      strDataFilePath = Form1.dtFileName.ToString(); 
     } 
    } 
+0

[點擊此鏈接](http://www.c-sharpcorner.com/UploadFile/thiagu304/passdata05172006234318PM/passdata.aspx) – Sanjeev4evr

相關問題