wpf 文本框问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf 文本框问题相关的知识,希望对你有一定的参考价值。
我用vs2008写计算器wpf程序我想知道怎么保留文本框的内容比如说,我要输入12,我在输入2的时候不会把1给覆盖掉,,还有怎么让他从右往左显示啊,,给位大侠请指点一下
参考技术A 限制只能输入数字:private void textBox1_KeyDown(object sender, KeyEventArgs e)
TextBox txt = sender as TextBox;
//屏蔽非法按键
if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Decimal)
if (txt.Text.Contains(".") && e.Key == Key.Decimal)
e.Handled = true;
return;
e.Handled = false;
else if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod) && e.KeyboardDevice.Modifiers != ModifierKeys.Shift)
if (txt.Text.Contains(".") && e.Key == Key.OemPeriod)
e.Handled = true;
return;
e.Handled = false;
else
e.Handled = true;
你所看到的从右往左显示只不过是右对齐而已,设置文本框(TextBox)的HorizontalContentAlignment="Right" 参考技术B //如果只是按下数字按钮:
string str = TextBox1.Text.Trim().AppendText( "数字 " );
//重新赋给textbox
TextBox1.Text = str;
//如果按下了加、减、乘、除 按钮,记录这时的数字
string n1 = TextBox1.Text.Trim();
如何在没有焦点的情况下突出显示/选择 wpf 文本框中的文本?
【中文标题】如何在没有焦点的情况下突出显示/选择 wpf 文本框中的文本?【英文标题】:how to highlight/select text in a wpf textbox without focus? 【发布时间】:2012-08-19 03:56:27 【问题描述】:我想在 wpf 文本框中突出显示选定的文本,而文本框没有聚焦。在我的应用程序中,我的文本框永远不会获得焦点,并且每个键输入都是手动完成的。
我想知道是否有办法在文本框未聚焦时突出显示选定的文本?
任何帮助将不胜感激!
【问题讨论】:
如果文本框永远无法获得焦点,您如何手动键入? How to keep WPF TextBox selection when not focused? 的可能重复项 @Blam : 我设置了文本框的文本。 @H.B. : 我已经查过了。问题是我的文本框永远不会得到焦点。您提到的线程中的解决方案是针对失去焦点的文本框,我从来没有得到一个,所以它永远不会引发 lostFocus() 事件。我可能需要一种方法来绕过选择和突出显示文本的正常过程。 @user1340852:虽然这是同一个问题,但就重复而言,这才是最重要的。 【参考方案1】:你可以使用下面的代码来达到你的目的:
textBoxToHighlight.Focus();
textBoxToHighlight.Select(0, textBoxToHighlight.Text.Length);
希望这会有所帮助。
【讨论】:
这是有焦点的,但问题是 - “没有焦点”【参考方案2】:另一种选择:
textBoxName.SelectAll();
【讨论】:
【参考方案3】:我真的很喜欢这种类型的选择:
textbox.Focus();
textbox.SelectionStart = 0;
textbox.SelectionLength = textbox.Text.Lenght;
【讨论】:
以上是关于wpf 文本框问题的主要内容,如果未能解决你的问题,请参考以下文章