2013-04-26 39 views
0

我在我的應用程序中有許多表單。從另一個表格獲取字符串

其中一些顯示彈出式窗體,與瀏覽文件對話框類似。如何將用戶選擇的文件夾路徑返回到以前的表單?

BrowseTree bTree = new BrowseTree(connection); 
bTree.StartPosition = FormStartPosition.CenterParent; 
DialogResult dialogResult = bTree.ShowDialog(); 

ShowDialog()顯示錶格。我無法弄清楚如何訪問當前表單中此BrowseTree表單中選定的文件夾路徑。

請幫忙。

回答

1

BrowseTree類中創建一個公共屬性並設置它的文件夾路徑。

public class BrowseTree 
{ 
    public string YourProperty {get; set;} 

    //some code 
} 

然後:

BrowseTree bTree = new BrowseTree(connection); 
bTree.StartPosition = FormStartPosition.CenterParent; 
DialogResult dialogResult = bTree.ShowDialog(); 

string value = bTree.YourProperty; 
+0

我使用'關閉'BrowseTree'形式this.Close();'當一個用戶點擊按鈕。該物業的價值是否仍然存在? – 2013-04-26 06:41:14

+0

是的,如果你設置它的形式。 – 2013-04-26 06:41:49

2

您可以通過多種方式傳遞數據。 Pass Data between forms

    通過事件
  1. 通過

  2. 通過構造函數的公共屬性

    public string _textBox1 
    { 
        get{return textBox1.Text;} 
    } 
    

在窗口2,你可以像這樣訪問

Form2 obj=new Form2(); 
string yourvalue=obj._textbox1; 
1

不是真的知道什麼是BrowseTree類,你可以使用​​用於此目的。但是,如果你必須使用BrowseTree然後定義屬性那裏文件路徑,如:

public string FilePath {get;set;} 

設置,針對的對象屬性

bTree.FilePath = "Your file path"; 

之後,您可以使用您的通話形式。

0

您應該檢查here它是如何在經典OpenFileDialog中完成的。它有一個包含選定文件名的屬性,您可以從另一個表單訪問它。

+0

我知道'OpenFileDialog'。但我無法使用它,因爲它是服務器上的自定義瀏覽部分。 – 2013-04-26 06:44:48

+0

@SoulSlayer我並不是說你應該使用它。我只是給你一個參考。我的意思是它已經完成了這個對話框,所以你可以使用相同的解決方案,因爲它可以工作。 – 2013-04-26 06:48:02

+0

哦!我誤解了。謝謝(你的)信息!真的有用! – 2013-04-29 08:48:17

0

你必須像父母形式設置一個公共屬性:

public string path{get;set;} 

然後在子窗體關閉按鈕:

parentobject.path = 「SelectedFolderPath」;

希望這有助於: