2010-12-16 39 views
1

我正在使用Windows應用程序表單,並且我有一個多行文本框,我想從另一個對象寫入輸出。我看到有類似的文章從一個文本框到另一個表單的文本框。但是,我正在使用mainform,並且無法再創建另一個。如何從另一個對象寫入表單文本框而不必返回

那麼如何從另一個類中爲mainform的.Text賦值?

+0

你是什麼意思「從另一個對象」?其他班級在哪裏,在哪裏? – BeemerGuy 2010-12-16 22:09:11

回答

2

您可以在獲取或設置控件屬性的窗體上創建公共屬性,例如

public partial class Form1 : Form 
{   

    ... 

    public string OperatorId 
    { 
     get { return OperatorIdField.Text.Trim().ToLower(); } 
    } 

    public string Password 
    { 
     get { return PasswordField.Text.Trim().ToLower(); } 
    } 

    ... 

} 

(OperatorIdField和PasswordField是文本框。在我的例子中,屬性是隻讀即他們只已「得到」的方法。在你的情況,你不得不加上「set」的方法爲好)。

要將主表單暴露給其他對象,您可以創建一個靜態成員,以公開主表單。

static class Program 
{ 
    public static Form MainForm; 

    /// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 

     MainForm = new Form1(); 

     Application.Run(MainForm); 
    } 
} 

當另一個對象需要得到密碼,代碼將是這樣的:

string password = Program.MainForm.Password; 
1

第二種形式應該有一些事件,即一旦您需要更改主窗體中的文本框值時您打電話。主窗體應該訂閱此事件並在某些eventHandler中更改文本。

相關問題