问题解决方案
time-flies
工控、C#、PLC
展开
-
C#使用数据源时不能更改datagridview的单元格颜色
问题描述我用一个数据表作为一个DataGridView的数据源,每次更换数据源重新绑定后想更改一些单元格的颜色,但只有第一次成功更改颜色,之后的颜色更改全部失败。解决方法最直接的解决办法是晚点来设置颜色 - 通常在一个 DataBindingComplete 事件处理程序中:void dataGridView1_DataBindingComplete(object sender, Data...原创 2020-04-12 16:10:12 · 1374 阅读 · 2 评论 -
"在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke"
“在Window窗体程序开发的时候,如果使用多线程编程,在子线程中访问主线程窗体内的控件,就需要使用控件的Control.Invoke方法或者BeginInvoke方法。但是有时候因为Window执行速度太快,尤其是你写代码的时候在InitializeComponent();完成之前起了一个线程去执行某些操作,涉及到窗体控件的,当你在调用Control.Invoke的时候,就可能出现 “在创建窗口...原创 2020-02-05 14:03:35 · 1304 阅读 · 0 评论 -
C#解决问题:BindingSource 不能是自己的数据源。请不要将 DataSource 和 DataMember 属性设置为循环引用 BindingSource 的值。
应用场景:C#的DataGridView绑数据表,表的数据被实时修改(可能被非UI线程修改),DataGridView实时显示表的数据。绑定方法:BindingSource bs = new BindingSource();bs.DataSource = dataList;this.dataGridViewX_DataList.DataSource = bs;异常提示:Binding...原创 2019-12-19 09:06:37 · 3136 阅读 · 2 评论 -
C#dataGridView隐藏第一行时异常“与货币管理器的位置关联的行不能设置为不可见”
dataGridView绑定了datatable,我想全部隐藏,然后根据给定的行号显示对应的行,但隐藏第一行时出现异常“与货币管理器的位置关联的行不能设置为不可见”。在网上找到解决办法:CurrencyManager cm=(CurrencyManager)BindingContext[dataGridView1.DataSource];cm.SuspendBinding(); //挂起数据...原创 2019-10-23 14:58:42 · 860 阅读 · 0 评论 -
C#Process的OutputDataReceived事件不触发的解决方法
问题描述:项目需要用cmd调用其它软件,实时获取软件处理结果,并根据获取到的结果决定下一步的输出,代码如下:Process proCmd = null;proCmd = new Process();proCmd.StartInfo.FileName = "cmd.exe"; //cmd proCmd.StartInfo.UseShellExecute = fa...原创 2019-10-12 09:20:06 · 4523 阅读 · 2 评论 -
C#控件的dock属性为fill时覆盖了其它控件(或者有一部分在其它控件下面)的解决方法
简单方法(控件设置fill时容器没有全部占满):在一个容器里的控件,如果dock 为fill时 ,只有它是最后一个添加的控件时才不会遮盖其它的控件,也就是说,最先添加的会被最后添加的遮盖,你可以安这个思路设计一下你的布局,或者剪切一下再添加就是最后一个了。其它方法(控件设置fill时容器已经占满):容器已经占满时设置fill不仅会覆盖其它控件,还可能导致选择了错误的容器。归根结底是z-orde...原创 2019-09-25 15:44:42 · 4799 阅读 · 0 评论 -
C#advTree 控件的连接线怎么设置、取消
取消advtree 的连接线:NodesConnector属性——选择Remove connector(有连接线时才有此选项)添加advtree 的连接线:NodesConnector属性——选择Create new connector(无连接线时才有此选项,连接线的颜色好像和默认的不同,暂时还不知道怎么设置)...原创 2019-09-25 17:09:07 · 657 阅读 · 0 评论