2013-08-21 52 views
2

我創建了一個處理表單控件跟蹤的formControlTracker類。這似乎按照預期的方式工作。現在,我想在按下保存按鈕時從formControlTracker類中訪問public string [] getDirtyControls()方法。我試圖訪問cTracker.getDirtyControls(),總線作爲代碼站立,我認爲我實例化的類formControlTracker超出了範圍。如何訪問getDirtyControls()方法而不必重新實例化formControlTracker類?如何傳遞包含此類的類對象並調用該類的方法

代碼片段:

public partial class settingsForm : Form 
{ 
    public settingsForm() 
    { 

     InitializeComponent(); 

     settingsTabControl.Appearance = TabAppearance.Buttons; 
     settingsTabControl.SizeMode = TabSizeMode.Fixed; 
     settingsTabControl.ItemSize = new System.Drawing.Size(0,1); 

     formControlTracker cTracker = new formControlTracker(this); 

     wLogSettingsFormProperties settingsFormProp = new wLogSettingsFormProperties(); 

    } 

    public void lDirtyControls() 
    { 

     /*foreach (string con in cTracker.getDirtyControls()) 
     { 
      MessageBox.Show(con); 
     }*/ 
    } 

    public void saveSettingsButton_Click(object sender, EventArgs e) 
    { 
     lDirtyControls(); 
    } 

回答

4

你可以把它的一個字段類

public partial class settingsForm : Form 
{ 
    private formControlTracker _cTracker; 

    public settingsForm() 
    { 
     //set the field value in the constructor. 
     _cTracker = new formControlTracker(this); 

    } 

    public void lDirtyControls() 
    { 
     //use the field variable here 
     /*foreach (string con in _cTracker.getDirtyControls()) 
     { 
      MessageBox.Show(con); 
     }*/ 
    } 
} 

這裏閱讀更多有關在C#字段:
http://msdn.microsoft.com/en-us/library/ms173118.aspx

+0

這工作。謝謝。 – dottedquad

相關問題