日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MaskedTextBox的聚焦和光标位置

發(fā)布時(shí)間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MaskedTextBox的聚焦和光标位置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

遇到一個(gè)關(guān)于MaskedTextBox聚焦和光標(biāo)居左的問(wèn)題。

①. 先說(shuō)說(shuō)聚焦:

  起初給MaskedTextBox設(shè)置了Focus(),運(yùn)行之后,并沒(méi)有作用。

  然后又給Form添加了Load事件,又設(shè)置了Focus(),再一次Failure了。

  好吧,本著不達(dá)目的不吃飯的原則。又給Form添加了一個(gè)Activated事件,依舊設(shè)置Focus()。結(jié)果,不成想可以了。

這里先給出Load事件和Activated的區(qū)別

  首先Load事件只會(huì)在第一次窗口顯示前發(fā)生。 它的執(zhí)行順序是在InitializeComponent之后。

  然后是Activated事件則是在代碼激活或者窗體激活發(fā)生?(這段似不似沒(méi)明白,簡(jiǎn)單理解就是窗體重繪Paint時(shí)會(huì)出發(fā)生。有興趣的朋友可以debug一下,切身體驗(yàn)一下,我只能說(shuō)根本停不下來(lái))。 它的執(zhí)行順序?qū)嵲贚oad之后。

  來(lái)說(shuō)說(shuō)Load事件為什么不起作用,這是因?yàn)長(zhǎng)oad事件執(zhí)行時(shí)MaskedTextBox并沒(méi)有顯示在窗體上(不信的同學(xué)可以自己試一試)。

? ? 之后又試了一種方法,就是使用Select(),就不贅述了,直接上代碼:

1 public TestForm() 2 { 3 InitializeComponent(); 4 mask.Select(); //MaskedTextBox控件 5 }

  到這里,聚焦的問(wèn)題算是解決了。目前來(lái)看是兩種方案: 添加Activated事件和使用Select()。

②.? 再說(shuō)說(shuō)光標(biāo):

  說(shuō)到光標(biāo)很快就想到SelectionStart這個(gè)屬性。

  也是很悲催的用了EnterMouseClick都失敗了。最后用了Click之后,才發(fā)現(xiàn)這才是真愛(ài)

  直接上代碼:

1 private void ClickMask(object sender, EventArgs e) 2 { 3 // 每次點(diǎn)擊后,讓光標(biāo)居文本左邊 4 mask.SelectionStart = mask.SelectionLength; 5 }

③. 最后來(lái)總結(jié):

  吐槽一下,成功的路是曲折的,但是收獲總是滿滿的。

轉(zhuǎn)載于:https://www.cnblogs.com/MonkeyKingK/p/4960609.html

總結(jié)

以上是生活随笔為你收集整理的MaskedTextBox的聚焦和光标位置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。