如何給同一表單中的所有文本框賦予相同的屬性。給與所有文本框控件相同的屬性
foreach (var textbox in this.Controls.OfType<TextBox>())
{
textbox.ContextMenu = new ContextMenu();
}
上述代碼僅適用於文本框不是嵌套格式的情況。
在我的項目中,我有tabcontrol中的多個tabpages。所以我不能實現上面的代碼。但我可以實現下面的代碼:
foreach (TextBox textbox in this.Controls.OfType<TabControl>().SelectMany(tc => tc.Controls.OfType<TabPage>().SelectMany(page => page.Controls.OfType<TextBox>())))
{
textbox.ContextMenu = new ContextMenu();
}
foreach (var textbox in this.tabCarInsurance.Controls.OfType<TextBox>())
{
textbox.ContextMenu = new ContextMenu();
}
foreach (var textbox in this.tabHomeLoans.Controls.OfType<TextBox>())
{
textbox.ContextMenu = new ContextMenu();
}
foreach (var textbox in this.tabRetirement.Controls.OfType<TextBox>())
{
textbox.ContextMenu = new ContextMenu();
}
這裏我正在實施每個tabControl。這仍然不喜歡(因爲我有更多的標籤頁來照顧)。無論如何要減少上面的代碼。
我嘗試下面的代碼:(不工作)
foreach (var textbox in this.Controls.OfType<TabControl>().OfType<TextBox>())
{
textbox.ContextMenu = new ContextMenu();
}
我得到了上面的代碼知識從我previous question。
請幫忙
在此先感謝。
謝謝你的迴應。它正在向'ctr'顯示紅色塗鴉。請解釋我是初學者在C#。 –
@Anandkumar,你期待'TextBox'有孩子嗎?)) – horgh
雅它現在沒有顯示任何塗鴉。在哪裏調用這個函數以及如何調用。請解釋。 –