草庐IT

Winforms

全部标签

c# - 如何从另一个线程更新 GUI 上的文本框

这个问题在这里已经有了答案:HowdoIupdatetheGUIfromanotherthread?(47个回答)关闭5年前。我是C#的新手,我正在尝试制作一个简单的客户端服务器聊天应用程序。我的客户端窗口窗体上有RichTextBox,我正在尝试从另一个类中的服务器更新该控件。当我尝试执行此操作时,出现错误:“跨线程操作无效:从创建它的线程以外的线程访问控制textBox1”。这是我的Windows窗体的代码:privateTopictopic;publicRichTextBoxtextbox1;boolcheck=topic.addUser(textBoxNickname.Text

c# - 如何允许用户通过 'shift' 键对 CheckedListBox 进行多重检查?

假设我有一个CheckedListBox,其中的项目依次为“1”、“2”、“3”、“4”和“5”,我想选择“2”、“3”和“4””,方法是选择“2”,然后按住Shift键并选择“4”。是否有任何内置方法可以使用CheckedListBox控件实现此目的?我找到了一篇关于如何使用SelectedIndexChanged事件来接近此行为的文章,但尽管它检查了多个项目,但并未将它们显示为选中状态。http://www.windowsdevelop.com/windows-forms-general/multiple-selection-checkbox-53049.shtml如果有我可以使用

c# - 拖放在 C# Winforms 应用程序中不起作用

我正在尝试创建一个Windows窗体,我可以将文件/文件夹拖放到该窗体上。我在WinForms应用程序中有以下代码publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_DragEnter(objectsender,DragEventArgse){Debug.Print("DragEnter");}privatevoidForm1_DragDrop(objectsender,DragEventArgse){MessageBox.Show("Dropped!");}}我已将All

c# - 如何在 winform 中以 XML 方式显示 Xml 数据?

我的winform应用程序与网络服务通信。对于某些需求,我需要在winform应用程序中以XML格式呈现Web服务响应。我可以将响应类型(类)实例序列化为XML字符串。但是当我在富文本框中显示该字符串时,它显然显示为连续字符串;而不是如下所示的XML。--0Loggerr-1UMyLogger--0Logger2-1UMyLogger2这里,UserServiceAccesses是具有UserServiceAccess类型属性的类。然后UserServiceAccess有一个Service类型的属性,ClientPermissions我该怎么做?它可以是任何形式(树、表、文本等),但它

c# - 如何在 C# 中捕获删除按键?

我想捕捉删除键的按下,并且在按下该键时不执行任何操作。我如何在WPF和Windows窗体中做到这一点? 最佳答案 将MVVM与WPF结合使用时,您可以使用输入绑定(bind)在XAML中捕获按键。 关于c#-如何在C#中捕获删除按键?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2893432/

c# - 在组合框中对齐文本

我想在组合框中对齐我的文本,以便它显示在组合框的中心告诉我如何做到这一点你也可以看到当组合框处于焦点时它周围有一个默认边框我如何删除那边界也请解决我的两个问题谢谢 最佳答案 本文将为您提供帮助:http://blog.michaelgillson.org/2010/05/18/left-right-center-where-do-you-align/诀窍是将ComboBox的DrawMode属性设置为OwnerDrawFixed并订阅其事件DrawItem。您的事件应包含以下代码://AllowComboBoxtocenterali

c# - 全屏模式,但不要覆盖任务栏

我有一个WinForms应用程序,它在我登录时设置为全屏模式。我的问题是它也覆盖了Windows任务栏。我不希望我的应用程序覆盖任务栏。如何做到这一点? 最佳答案 我的方法是通过这段代码:this.MaximizedBounds=Screen.FromHandle(this.Handle).WorkingArea;this.WindowState=FormWindowState.Maximized; 关于c#-全屏模式,但不要覆盖任务栏,我们在StackOverflow上找到一个类似的问

c# - 将 DataGridView 的最后一行卡住为列的总和?

是否可以将DataGridView的最后一行作为列的总和,并且最后一行始终显示/卡住? 最佳答案 解决方案其实很简单,只需要你跳出框框思考一下。通常,一旦数据加载到您的GridView中,它的底部就会出现一个深灰色的行:您可以充分利用这个空间。您需要做的就是将几个标签拖到您的表单上,放置在您的GridView中,并应用背景颜色:在您的代码中,添加如下方法:voidUpdateTotal(LabelLabel,intNumber){//Calledfromanotherthread;facilitatesafecross-thread

c# - Windows 窗体 ComboBox 导致间歇性 System.AccessViolationException

一些背景故事:我搜索了stackoverflow和Google以找出这个特定异常的来源。我们有一个Windows窗体(C#、.NET2.0)应用程序偶尔会抛出System.AccessViolationException(下面的堆栈跟踪)。WindowsXP(SP3)和WindowsVista(SP2)均出现异常。根据用户输入,我们确定当ComboBox的选定索引发生更改时会发生异常。ComboBox是一个标准的Windows窗体组件,它包含在继承System.Windows.Forms.UserControl的自定义控件中。我的主要查询是:这个异常从何而来?它是否来自.NET框架中的

c# - 如何在 Wndproc 中专门获取 C# Winform 中的 IME 布局?

我有一个winform应用程序,我想在C#中获取当前键入语言的信息。我有windows10机器,我选择了韩语。选择韩语后,任务栏中有一个切换按钮可以将输入语言更改为英语或韩语。以下代码总是提供韩语,但当我选择英文输入时它应该提供英文。[DllImport("user32.dll")]staticexternIntPtrGetForegroundWindow();[DllImport("user32.dll")]staticexternuintGetWindowThreadProcessId(IntPtrhwnd,IntPtrproccess);[DllImport("user32.dl