【Winform】求助,MaskedTextBox如何进行动态赋值

Lucay丶 2018-08-06 06:56:52
RT,做一个触屏电脑上的Winform程序,但是由于触屏软键盘设计特点不带符号按键,要设置一个IP地址,只能想到用MaskedTextBox,

但是对于触屏软键盘来说,输入必须要一个字符一个字符的动态赋值,

使用普通的C.Text += string, 会导致从掩码出现的最后一个位置开始赋值,

求教,如何动态赋值
...全文
284 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lucay丶 2018-08-07
  • 打赏
  • 举报
回复
分享一下我的解决方案
原理:通过不断的设置控件焦点位置来追加字符,根据掩码规则每到“.”则继续下一位赋值



if (tempC is MaskedTextBox)
{
int start = (tempC as MaskedTextBox).SelectionStart;
if (start == 3 || start == 7 || start == 11)
start++;
tempC.Text = (tempC as MaskedTextBox).Text.Insert(start,btn.Tag.ToString());
(tempC as MaskedTextBox).SelectionStart = start + 1;
}

Lucay丶 2018-08-07
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
似不妥
宜用3位充填方式 127.0.0.1 记为 001127000000001


谢回复,已经找到了恰当的方式来为MaskedTextBox动态赋值
xuzuning 2018-08-07
  • 打赏
  • 举报
回复
似不妥
宜用3位充填方式 127.0.0.1 记为 001127000000001
xuzuning 2018-08-07
  • 打赏
  • 举报
回复
由于触屏软键盘设计特点不带符号按键
可用 0键代替 .
即 00 表示 0.
threenewbee 2018-08-06
  • 打赏
  • 举报
回复
https://www.codeproject.com/Articles/4693/IP-Address-TextBox
jhone99 2018-08-06
  • 打赏
  • 举报
回复
4个textbox,操作要方便很多
Lucay丶 2018-08-06
  • 打赏
  • 举报
回复
.......没有大神涉猎这个控件吗

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧