WinForm
norsd
这个作者很懒,什么都没留下…
展开
-
C# Windows Form 设计界面与实际显示不同的问题
问题来自于不同的缩放比率,默认是100%,更高的分辨率可能被认为调成125%, 150%这个可以用DPI表示目前没有很好解决,只有一些reference:https://blog.csdn.net/qq_42697866/article/details/104522827https://stackoverflow.com/questions/4075802/creating-a-dpi-...原创 2020-04-22 16:05:57 · 2724 阅读 · 0 评论 -
c# 程序在其他没有Visual Studio 环境下运行异常报错形如: Could not load file or assembly ‘System.ValueTuple
c# 程序Release版本复制到其他没有Visual Studio环境下直接异常报错形如:“Could not load file or assembly 'System.ValueTuple…”其原因可能是因为机器上有不同版本的Dll在新版本Visual Studio 中CSPROJ会有语句true这样启用了“自动绑定重定向”Reference:https://docs.mic...原创 2020-02-14 20:20:58 · 893 阅读 · 0 评论 -
C# ComboBox 使用 DataSource SelectedIndex无法设置的问题
在C#中如下代码var cbo = new ComboBox();cbo.DropDownStyle = ComboBoxStyle.DropDownList;var cbo.DataSource = new int[]{1, 2, 3};cbo.SelectedIndex = 0;cbo.SelectedIndex = 1;cbo.SelectedIndex 仍然等于 -1并不会...原创 2020-02-13 20:13:55 · 1845 阅读 · 0 评论 -
C# Desinger 忽略Property
reference:https://stackoverflow.com/questions/2598733/how-do-i-get-the-winform-designer-to-totally-ignore-a-property-on-a-custom-contrI think you can use [Browsable (false)] and [DesignerSerializati...转载 2020-02-02 03:58:22 · 173 阅读 · 0 评论 -
Winform 控件大小失常临时解决办法
代码 norlib/TestScenarioContainerControlSize调用SetProcessDPIAware或者修改manifest来自引用:https://blog.csdn.net/pigautumn/article/details/83900748?tdsourcetag=s_pctim_aiomsgWindows的高DPI支持是通过DWM(Desktop Windo...原创 2019-12-10 10:44:04 · 538 阅读 · 0 评论 -
Visual Studio 2017 C#Debug模式下因为调用层次过多导致StackOverFlowException
Visual Studio 2017C# 工程Debug模式下因为函数调用层次过多导致StackOverFlowException后来在一些位置使用了Task.Factory.StartNewIVDataQueueProvider.GetAsync public void GetAsync(Variety arg_vOption, Action<ErrorObject, IVD...原创 2018-11-08 08:04:18 · 460 阅读 · 0 评论 -
c# 如何使自建UserControl中的子控件可以在设计模式Design Mode中被访问,设置,添加孙控件
reference: https://blogs.msdn.microsoft.com/subhagpo/2005/03/21/how-can-i-drop-controls-within-usercontrol-at-design-time/Assembly 添加 Windows.Design.dll自建的控件ScenarioContainer 如下: [Designer(...原创 2018-09-10 16:24:24 · 2075 阅读 · 0 评论 -
DataGridView 自绘Row的背景
DataGridView 可以指定row的BackColor, 这个在许多文章中都有, 但是如何自绘Row的背景,这个却不多见。 例如一行背景颜色需要能左侧,中间,右侧的背景各不相同。 实现如下: 1. 要求默认的Cell的背景颜色为Transparent, 否则绘画是无效的base.CellFormatting += base_CellFormatting;base.RowPr...原创 2018-08-05 20:09:12 · 518 阅读 · 0 评论 -
解决Button无法居中显示字符,特别是Webdings这类图形字符
Reference: https://stackoverflow.com/questions/17469159/centering-text-on-a-buttonbtnUp.Text = "▲";btnDown.Text = "▼";btnUp.TextAlign = ContentAlignment.MiddleCenter;btnDown.TextAlign = ContentAlign转载 2017-10-31 20:36:10 · 702 阅读 · 0 评论 -
修改DataGridView的ColumnHeaderStyle
如下代码将使得变量dgv(DataGridView)的ColumnHeader背景色为黑色,前色为麦色。且没有白色的边框 dgv.EnableHeadersVisualStyles = false; dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black; dgv.ColumnHeaders原创 2017-10-14 16:34:29 · 3137 阅读 · 0 评论 -
继承自DataGridView的类在构造函数中创建Column后,被Designer重复创建的问题
reference: https://stackoverflow.com/questions/530176/how-do-you-prevent-the-visual-studio-designer-auto-generating-columns-in-a-datag/31906513如果我们创造一个继承自DataGridView的类(使用DataSource), 而且在构造函数中创建各种Co原创 2017-10-14 16:32:30 · 675 阅读 · 0 评论 -
DataGridView Column Header 无法准确居中的问题
ref: https://stackoverflow.com/questions/9563982/datagridview-header-alignment-slightly-to-left-even-after-setting-it-to-middleceDataGridView 中设置:column.HeaderCell.Style.Alignment = DataGridViewConten原创 2017-08-30 19:34:15 · 4128 阅读 · 1 评论 -
DataGridView技巧
http://stackoverflow.com/questions/18666582/datagridview-autofit-and-fill1.Column覆盖所有width:dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;原创 2016-11-22 12:35:12 · 419 阅读 · 0 评论 -
DataGridView DataSource INotifyPropertyChanged 避免闪烁的方法
代码说话:dgvPosition就是需要避免闪烁的DataGridView主要是加2段代码1.SetStyle2.datagridview设置DoubleBuffered属性为True public AccountPositionControl() { this.SetStyle(ControlStyles.OptimizedDoubleBuffe原创 2016-08-17 22:10:00 · 822 阅读 · 0 评论 -
ListBox Dock Fill 总是有空隙的问题
ListBox Dock设置了Fill, Right等 设计界面如己所愿,但是实际运行时,底部总是有不小的空隙。 原因是ListBox有一个属性: IntergralHeight 默认为True 此属性将要求显示完整的Item,所以根据 ItemHeight,ListBox强制修改了高度,此时显示的控件中的Item内容都是完整显示,不会有一小半没显示的情况,但是底部却有了Spanref: ht原创 2016-04-08 00:27:37 · 1612 阅读 · 0 评论 -
如何实现一个无边框Form的移动和改变大小(二)
接着上文:这里写链接内容 我们来说说一个比较复杂的实现, 效果如图: 注意为了能够凸显没有NC(NotClient)区域,我们额外用了3个panel分别放在窗体的左右和下部。用来模拟客户自己的控件。 下面我们说下这种真正的无边框Form的实现方法 下面先无责任的贴下代码using System;using System.Collections.Generic;using Syste原创 2015-09-22 14:13:23 · 2369 阅读 · 0 评论 -
如何实现一个无边框Form的移动和改变大小(一)
很多时候我们不希望使用Windows提供的窗体。 我们希望使用一个无边框的窗体,什么border,caption透明就行了。 下面我们来说下一些实现方法。这个方法要求窗体自定义的border size, 需要使用Form的Padding来实现 例如设置Padding = 5, 则Form的四周有一个5像素的border。如下图: 可以看到内框外面还有5个像素的蓝色窗体。 如果你喜欢这种原创 2015-09-19 21:33:54 · 3315 阅读 · 2 评论 -
令人苦恼的调试缓慢问题
之前的一个重要基础工程每次进入单步调试,总会在装载XML之后的解析工作时异常缓慢,往往需要7秒,而直接运行则只需要1秒,无论Debug还是Release.后来一点点把代码注释,单步,注释再单步,终于确定了问题所在:首先在一个重复运算的循环内部有如下语句: var bPreDay = GetAttributeText("PreDay", "0").ToInt()>0; 此函数是一个扩展函数,实现如原创 2015-09-05 03:17:09 · 632 阅读 · 0 评论 -
DataGridView DataSource 如何实现排序
将数据绑定在下面的类中就可以实现排序 public class SortableBindingList<T> : BindingList<T> { private ArrayList sortedList; private bool isSortedValue; public SortableBindingList() {原创 2015-09-01 12:23:19 · 3179 阅读 · 0 评论