2 回答

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊
像這樣的東西:
string val = (this.Controls[viewIdentifier] as TextBox)?.Text;
這里
我們用它的名字
Control
在里面尋找Controls
——viewIdentifier
as TextBox
:嘗試將控件轉(zhuǎn)換為TextBox
(null
如果不是TextBox
)?.Text
如果轉(zhuǎn)換成功,則獲取Text
(null
否則)
編輯如果需要is
(讓我們修改當(dāng)前代碼),您可以使用模式匹配(C# 7.0)實現(xiàn)例程:
string viewIdentifier = "MyControlName";
string val = null;
// viewIdentifier is String, when this.Controls[viewIdentifier] is Control
// ... is TextBox textbox: if left side matches TextBox pattern
// then textbox is a matched pattern to work with
if (this.Controls[viewIdentifier] is TextBox textbox) {
val = textbox.Text;
}

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊
string viewIdentifier= "MyControlName";
var hasTextBoxWithThisName = this.Controls.OfType<TextBox>().Any(c => c.Name == viewIdentifier);
編輯:
var t = this.Controls.OfType<TextBox>()
.SingleOrDefault(c => c.Name == viewIdentifier);
if (t != null)
{
var text = t.Text;
}
- 2 回答
- 0 關(guān)注
- 367 瀏覽
添加回答
舉報