問題描述
動態改變另一個類的標籤值 (Dynamically changing the value of a label from another class)
我創建了自己的 MessageBox 類。這很簡單,它有一個標籤和一個關閉它的按鈕。
在我的 System_Functions 類中,我正在驗證用戶名是否存在:
Prompt prompt = new Prompt();
...
if (checkUsername == 0) {
prompt.Show();
return false;
}
Prompt 類包含自定義消息框。但是,我不知道如何動態更改標籤,因為我還計劃在其他警告中使用它。
我知道代碼應該是 label.Text="在此處插入字符串";
但我知道如何實現它。我使用 prompt.Show();
來顯示自定義消息框,但是如何傳遞參數?
這是我的 Prompt 類,我還沒有添加一個方法接受字符串參數來更改標籤:
public partial class Prompt : Form {
public Prompt() {
InitializeComponent();
}
private void btnOk_Click(object sender, EventArgs e) {
this.Hide();
}
}
參考解法
方法 1:
This could be one way:
public partial class Prompt : Form {
public Prompt(string message) {
InitializeComponent();
this.labelforMessage.Text = message; // Use this string as label text
}
private void btnOk_Click(object sender, EventArgs e) {
this.Hide();
}
}
Then from other classes you can Pass the message when you create the Prompt object. Remember C# BCL does similar in MessageBox.Show() method and its overloads
(by d2680837_c、Prateek Shrivastava)