Tag: textbox

如何阻止文本框中的第一个字符成为’。’?

这是我目前的代码: private void textBox_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != ‘.’; if (e.KeyChar == ‘.’ && (sender as TextBox).Text.IndexOf(‘.’) > -1) e.Handled = true; }

如果用户点击表单上的其他位置,如何取消选择文本框?

目前在我的应用程序中,无法取消选择文本框。 唯一的方法是选择另一个文本框。 我的用户和我同意单击表单上的任何其他位置应取消选择当前文本框。 我尝试在许多控件上覆盖MouseDown并将焦点设置为随机标签,但它不适用于某些控件,如MenuStrip或滚动条。 有任何想法吗?

如何仅在用户停止键入时处理TextChanged事件?

我有一个带有TextChanged事件的TextBox 。 最后它正在查询SQL数据库,所以我想限制查询的数量。 如果用户没有在300毫秒左右按下一个键 ,我只想进行查询。 如果由于某种原因上一个查询仍在执行,我需要取消它,然后发出一个新查询。

如何根据鼠标位置从文本框中获取特定文本值

我有一个多行文本框,根据给出的数据显示一些值(通常每行一个值)。 (为了让工具提示弹出一些’替代’数据)我想得到鼠标hover在上面的字(或至少是这一行),这样我就可以找到显示的替代方法。 我有一些想法如何通过基于文本框和字体大小的计算来做到这一点,但我不知道要走这条路,因为大小和字体可能经常变化。 那么……有没有办法使用鼠标位置抓取特定的文本框文本?

在鼠标单击PictureBox上时弹出TextBox,以便为图片添加自定义注释

在我的C#winforms应用程序中,我有一个可以将一些位图图像加载到其中的图片框。 我想要做的是,如果用户点击图片框中的某个位置,在鼠标位置会出现一个小文本框,用户可以在图片中添加自定义文本(注释)。 我知道如何将字符串写入位图文件,但我找不到在鼠标位置弹出文本框的方法,并在用户写入内容并按下回车键时自动将文本添加到图像中。 应如何定义此文本框及其属性? 谢谢。

C#/ .NET:启动进程后,TextBox不会“聚焦”

单击“btnSearch”按钮后打开记事本后出现问题。 我的想法是,一旦我点击“btnSearch”按钮,即使在主窗口外启动/打开进程后,文本框“txtSearch”也应该“聚焦”。 这是我的代码: private void btnSearch_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process.Start(“notepad”); txtSearch.Focus(); // not working } 有什么建议?

鼠标进入/离开时WM_PAINT中绘制的TextBox闪烁

我有一个自定义的TextBox,当它为空时我在其中绘制一些占位符文本。 它运行得很好,但是当鼠标进入和离开TextBox时它会闪烁。 当鼠标hover在控件上时(我在Windows 8.1上),它似乎与边框变成蓝色有关。 知道如何解决这个问题吗? 我尝试了各种SetStyles标志但没有成功。 class MyTextBox : TextBox { public string PlaceHolder { get; set; } static readonly Brush sPlaceHolderBrush = new SolidBrush(Color.FromArgb(70, 70, 78)); static readonly StringFormat sFormat = new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center }; private Font mPlaceHolderFont; [DllImport(“user32”)] private static extern IntPtr GetWindowDC(IntPtr hwnd); protected override void […]

当TextBox可滚动时,不会触发MouseScroll事件

我发现当我将MouseWheel事件附加到我的UserControl或TextBox ,如果TextBox是可滚动的,它不会触发。 它将滚动文本框而不是触发MouseWheel,我可以使它运行MouseWheel然后在做一些事情之后e.Cancel它。它会使TextBox不滚动吗? 更新:使用video和代码 video http://screenr.com/ZGF 码 http://www.mediafire.com/?x3o09dz6dr5zoym public MainWindow() { InitializeComponent(); textBox.MouseWheel += (s, e) => { Random rand = new Random(); Debug.WriteLine(rand.NextDouble()); }; }

从颜色中删除透明度

目前我正在使用此代码将我的RGB字符串转换为一种颜色,以设置为文本框的背景。 ColorConverter colorConverter = new ColorConverter(); colorTextBox1.BackColor = (Color)colorConverter.ConvertFromString(displayColor); 但是当我运行此代码时,我收到此错误。 当displayColor = “#16776960″的值时。 An unhandled exception of type ‘System.ArgumentException’ occurred in System.Windows.Forms.dll Additional information: Control does not support transparent background colors. 关于如何从颜色中获取透明度的任何想法? 我想要它做的只是使文本框的背景颜色。

以编程方式在文本框中移动插入符号,排列和向下排列

我正在努力将插入符号移动到DataGridView中的文本框编辑控件中 ,一行向上,一行向下,就像用户在按向上和向下箭头时得到的那样。 所以我的意思不是换行符之间的行,我的意思是文本框左右两边的行。 我不能使用GetCharIndexFromPosition和GetPositionFromCharIndex,因为并非所有文本都将始终显示在文本框显示区域中。 编辑:我无法模拟KeyPress,因为我正在处理DataGridView中的文本框单元格。 我的目标实际上是让箭头键在正常的文本框中执行它们的操作,而不是从一行跳到另一行。