我正在使用Windows應用程序表單,並且我有一個多行文本框,我想從另一個對象寫入輸出。我看到有類似的文章從一個文本框到另一個表單的文本框。但是,我正在使用mainform,並且無法再創建另一個。如何從另一個對象寫入表單文本框而不必返回
那麼如何從另一個類中爲mainform的.Text賦值?
我正在使用Windows應用程序表單,並且我有一個多行文本框,我想從另一個對象寫入輸出。我看到有類似的文章從一個文本框到另一個表單的文本框。但是,我正在使用mainform,並且無法再創建另一個。如何從另一個對象寫入表單文本框而不必返回
那麼如何從另一個類中爲mainform的.Text賦值?
您可以在獲取或設置控件屬性的窗體上創建公共屬性,例如
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;
第二種形式應該有一些事件,即一旦您需要更改主窗體中的文本框值時您打電話。主窗體應該訂閱此事件並在某些eventHandler中更改文本。
你是什麼意思「從另一個對象」?其他班級在哪裏,在哪裏? – BeemerGuy 2010-12-16 22:09:11