第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字符串轉(zhuǎn)換為控件類型

將字符串轉(zhuǎn)換為控件類型

C#
慕妹3242003 2021-10-23 17:29:40
我可以Form像下面的代碼一樣找出當(dāng)前是否存在具有某個名稱的組件。if (!this.Controls.ContainsKey("MyControlName")){      //do anything}但我如何識別它是否是TextBox。我試過這個string viewIdentifier = "MyControlName";string val = null;if (viewIdentifier is Textbox){    val = viewidentifier.Text;}我如何轉(zhuǎn)換MyControlName為Control類型string?
查看完整描述

2 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊

像這樣的東西:

string val = (this.Controls[viewIdentifier] as TextBox)?.Text;

這里

  1. 我們用它的名字Control在里面尋找Controls——viewIdentifier

  2. as TextBox:嘗試將控件轉(zhuǎn)換為TextBoxnull如果不是TextBox

  3. ?.Text如果轉(zhuǎn)換成功,則獲取Textnull否則)

編輯如果需要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;

  }


查看完整回答
反對 回復(fù) 2021-10-23
?
一只萌萌小番薯

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;

}


查看完整回答
反對 回復(fù) 2021-10-23
  • 2 回答
  • 0 關(guān)注
  • 367 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號