Tag: 文本框

使用文本框和自定义词典进行拼写会降低我在C#WPF中的应用程序速度

我在WinForm应用程序中使用WPF TextBoxes进行拼写检查。 每次创建一个,我都将相同的文件作为CustomDictionary加载。 一切都很好,直到最近。 现在,它们需要很长时间才能加载,最多一秒钟。 有些表格有30个或更多,意味着延迟近半分钟。 这似乎是Windows 10(不是我最初发布的Windows 8)的情况。 应用程序在DotNet 4.0下运行,我尝试过4.5和4.6(不是4.61),所有版本都很慢。 我已经看到了sfaust的问题在Win10中拼写检查文本框 – 慢和am7zd的答案。 多亏了这些,我查看了HKEY_CURRENT_USER \ Software \ Microsoft \ Spelling \ Dictionaries中的GLOBAL注册表项。 我有580个条目(修剪掉没有匹配文件的条目)但仍然很慢。 目前,每次创建TextBox并向其添加自定义词典时,似乎都会在_GLOBAL_中生成一个新条目 有没有比每次从文件加载自定义词典更好的做事方式? 有没有办法在每次重复使用_GLOBAL_中的相同条目而不是创建一个新条目? 在关闭应用程序(或重新启动它)时,是否有一种清除方式来清除我的应用程序创建的GLOBAL中的先前条目及其匹配的.dic文件? 每次启动应用程序时,我都可以完全清除_GLOBAL_。 这带回了我想要的速度,但缺点是什么? 任何建议都感激不尽。

C#:如何将包含新行的字符串插入TextBox?

如何将包含新行的字符串插入TextBox? 当我使用\n作为新行字符时,它不起作用。

适用于大型内容的WPF Multiline TextBox

在WPF应用程序中,我想构建一个“在文件中查找”输出窗格,在该窗格中我可以流式传输大量文本,而无需在每行重新分配内存,就像TextBox那样。 WPF TextBox有一个Text属性,用于存储连续的字符串。 每次,我想添加内容,我需要做textBox.Text += “New Text” ,这很糟糕。 理想情况下,该控制是虚拟的,只需要最少的资源,仅用于可见线。 我考虑过使用带有VirtualizingStackPanel的标准ListBox ,但它不允许跨行进行文本选择。 (在添加的每个新行中,我希望控件更新) 有什么建议吗?

将新的System.Windows.Forms.Control对象转换为System.Windows.Forms.Textbox

我将Control转换为System.Windows.Forms.Textbox时出现InvalidArgumentException: 无法将类型为“System.Windows.Forms.Control”的对象强制转换为“System.Windows.Forms.TextBox”。 System.Windows.Forms.Control control = new System.Windows.Forms.Control(); control.Width = currentField.Width; //here comes the error ((System.Windows.Forms.TextBox)control).Text = currentField.Name; 我这样做,因为我有不同的控件(Textbox,MaskedTextbox,Datetimepicker …),它将动态添加到面板并具有相同的基本属性(大小,位置… – >控制) 为什么演员不可能?

如何遍历所有文本框并使它们从动作字典中运行相应的操作?

我有大约60个文本框,当每个文本框都有自己的代码部分时,它会很乱。 对于某些事件,操作是相同的,而对于其他事件,可以有一个包含操作的字典。 问题是我不知道如何遍历文本框,获取当前文本框引用并运行一些方法来更改当前文本框的文本。 UPD:我要做的是让所有文本框运行AllTextboxesEnter方法,该方法将根据文本框的名称更改其文本,运行AllTextboxesLeave方法,该方法将根据文本框的名称从操作字典执行某些操作。

如何将双字节字符串转换为单字节字符串?

我是C#的新手。 我有一个Textbox ,允许接受double_byte字符串,它用于输入/显示日期值 。 现在我遇到了问题,我不知道如何解决这个问题。我用Google搜索了一下,找不到任何解决办法。 当我写Double_Byte Characters( Double_Byte )时,我想在TextBox的Text_Changed或此TextBox的Text_Changed事件中将此值更改为( Leave_Event )。 那么,我该如何解决这个问题呢。 编辑 – >我的解决方案是窗口应用程序。 提前致谢。

如何从TextBox中获取价值

我改变了我的问题,因为它可能不被理解。 也很抱歉我的英文… 动态创建TextBoxes,将它们放在数组中。 我的一段代码: public partial class NewArticleForm : System.Web.UI.Page { private Label[] lblName; private TextBox[] txtName; private Label[] lblSurname; private TextBox[] txtSurname; private PlaceHolder PlaceHolder1; public int NumberOfOtherAuthors() { Int32 index = Convert.ToInt32(NumberList.SelectedValue); return index; } public void dataofOtherAuthor() { int authors; int i = 0; int j=1 authors = NumberOfOtherAuthors(); lblName = new […]

在屏幕键盘显示时调整winrt页面的大小

我有一个Windows 8.1 C#应用程序,它显示了一个带有相当大的文本框的页面(几乎涵盖了所有页面;它是一个写作应用程序)。 当屏幕键盘出现时,它覆盖了文本框的一半。 我想调整文本框(甚至整个页面)的大小,以便它不被键盘覆盖。 我现在正在使用静态InputPane并订阅其显示和隐藏事件来实现此目的。 然后我尝试使用eventargs中提供的带有方框的矩形来更改文本框的边距。 这样可行,但由于我的页面仍然是屏幕的高度,因此它将其向下滚动到底部。 public MainPage() { var inputPane = InputPane.GetForCurrentView(); inputPane.Showing += this.InputPaneShowing; inputPane.Hiding += this.InputPaneHiding; } void InputPaneHiding(InputPane sender, InputPaneVisibilityEventArgs args) { this.EditBox.Margin = new Thickness(); } private void InputPaneShowing(InputPane sender, InputPaneVisibilityEventArgs args) { this.EditBox.Margin = new Thickness(0, 0, 0, args.OccludedRect.Height); } 在尝试这一点时,我感觉这不是理想的解决方案,但我没有更好的主意。 理想情况下,我认为当你打开应用程序时,它会像垂直分割一样,但是底部的键盘是水平的,而应用程序只是键盘上方的可用尺寸。 知道这是否可行?

从WPF应用程序中的文本框获取用户输入

我正在尝试从我正在构建的WPF应用程序中的文本框中获取用户输入。 用户将输入一个数值,我想将其存储在一个变量中。 我刚刚开始使用C#。 我该怎么做? 目前我打开文本框并让用户输入值。 之后,用户必须按下一个按钮,文本框中的文本存储在该按钮中。 private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { } private void Button_Click(object sender, RoutedEventArgs e) { var h = text1.Text; } 我知道这不对。 什么是正确的方法?

validationTextBox中的文本更改

我在WinForm中的textBox上实现了validation规则,效果很好。 但是,只有当我跳出字段时,它才会检查validation。 我希望只要在框中输入任何内容并且每次内容发生变化时都要检查。 我还想在WinForm打开后立即检查validation。 我记得最近通过设置一些事件和诸如此类的事情来做这件事,但我似乎无法记住如何做。