我正在编写一个程序,用户应该能够在文本框中编写文本.我希望文本框能够自行调整大小,因此它适合内容.我尝试过以下方法:
private void textBoxTitle_TextChanged(object sender, TextChangedEventArgs e)
{
System.Drawing.Font myFont = new System.Drawing.Font("Verdana", 8);
System.Drawing.SizeF mySize = e.Graphics.MeasureString("This is a test", myFont);
this.textBoxTitle.Width = (int)Math.Round(mySize.Width, 0);
}
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说Graphics不适用于TextChangedEventArgs.还有另一种方法可以调整文本框的大小吗?
对于Multiline = True的System.Windows.Forms.TextBox,我只想在文本不适合时显示滚动条.
这是仅用于显示的只读文本框.它是一个TextBox,以便用户可以复制文本.是否有任何内置支持滚动条的自动显示?如果没有,我应该使用不同的控件吗?或者我是否需要挂钩TextChanged并手动检查溢出(如果是,如何判断文本是否适合?)
没有任何运气与WordWrap和Scrollbars设置的各种组合.我想最初没有滚动条,只有当文本不适合给定的方向时才会动态显示.
@nobugz,谢谢,当WordWrap被禁用时有效.我不想禁用wordwrap,但它是两个邪恶中较小的一个.
@AndréNeves,好的一点,如果是用户可编辑的话,我会这样做.我同意一致性是UI直观性的基本规则.
我想在键入GWT TextBox时立即更新文本字段.我的问题是ValueChangeEvent和ChangeEvent处理程序仅在TextBox失去焦点时触发.我想过使用KeyPressEvent但是用鼠标执行复制粘贴时什么都不会发生.
最简单的方法是什么?
如何<asp:TextBox>在ASP.NET Web应用程序中为控件设置对齐中心?
我Multiline Textbox为此设置了一个值.
textBox1.Text = "Line1\r\n\r\nLine2";
Run Code Online (Sandbox Code Playgroud)
但是,输出中只有一个行空间.
当我读到文本框的价值时,我读到了"Line1\r\nLine2";
为什么ASP.NET不支持多个线条字符?
我希望用户只输入数值TextBox.
我得到了这段代码:
private void txtType1_KeyPress(object sender, KeyPressEventArgs e)
{
int isNumber = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber);
}
Run Code Online (Sandbox Code Playgroud)
但我在使用WPF 时没有得到textbox_KeyPress事件e.KeyChar.
什么是WPF的解决方案?
Edit:
我做了一个解决方案!
private void txtName_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
CheckIsNumeric(e);
}
private void CheckIsNumeric(TextCompositionEventArgs e)
{
int result;
if(!(int.TryParse(e.Text, out result) || e.Text == "."))
{
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud) 有没有办法实现文本更改事件来检测HTML输入文本字段上的文本更改?
可以使用关键事件(按键等)来模拟这些事件,然而,它确实不具备性能和难度,是否有更好的方法?
我是VB.net的新手(自学成才),只是想知道是否有人可以帮我解决一些代码问题.我不是想做任何太多涉及的事情,只是TextBox接受一个从1到10的数值.我不希望它接受一个字符串或任何高于10的数字.如果有人输入一个单词或字符的错误信息将出现,告诉他输入有效的号码.这就是我的意思; 显然它不是很好,因为我有问题.再次感谢任何可以提供帮助的人.
If TxtBox.Text > 10 Then
MessageBox.Show("Please Enter a Number from 1 to 10")
TxtBox.Focus()
ElseIf TxtBox.Text < 10 Then
MessageBox.Show("Thank You, your rating was " & TxtBox.Text)
Total = Total + 1
ElseIf IsNumeric(TxtBox.Text) Then
MessageBox.Show("Thank you, your rating was " & ValueTxtBox.Text)
End If
ValueTxtBox.Clear()
ValueTxtBox.Focus()
Run Code Online (Sandbox Code Playgroud) 我想实现一个允许我编辑标签的自定义TextBox.Hotmail的"To"TextBox是我能想到的最好的例子:

Facebook的"To"也实现了相同的概念:

哦是的,StackOverflow也做了标记问题:)
有没有人在WPF中构建类似的东西?我应该做的第一步是什么?
有没有办法在文本框中禁用光标而不将属性Enable设置为false?我试图使用ReadOnly属性,但尽管我无法在文本框中写入,但如果单击文本框,则会出现光标.那么有没有办法永久摆脱这个游标?