自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 c# datagridview加双缓中解决闪烁问题

先说原因,经过测试发现,当datagridview中加载大量数据时,拖拽进行放大缩小时,会有明显卡顿的感觉。创建一个类,在方法内部设置控件的双缓冲属性。然后在构造方法中调用该方法即可。

2024-04-07 10:06:14 228

原创 c# 在datagridview添加数据时进行唯一性验证

2.对单元格数据进行唯一性验证。3.验证成功后进行保存。1.首先创建一个空行。

2024-04-01 08:55:21 247

原创 c# winform中给datagridview数据每行后加操作按钮,并根据不同身份改变按钮

2.根据不同身份实现不同的按钮功能,绑定cellFormatting事件可根据身份修改按钮显示的文字。3.根据 role 列值更改按钮文本。4.最后是按钮的点击事件,修改权限。1.给最后一列后加按钮。

2024-03-18 11:53:31 395

原创 winform中实现日志功能

2.使用时,只需在需要进行日志输出的地方调用Log.WriteLogToFile()即可。1.添加Log类,实现日志功能,封装了一些方法。

2024-02-27 16:40:00 346

原创 datagridview如何获取第一个单元格的值

当我们对数据进行删除或修改时,都需要获取到当前数据的id(唯一标识)来进行操作,通常都为第一个单元格的值,获取这个值有两种方式。2.当你选中的是其中的某个单元格时。1.当你选中的是整行时。

2024-02-26 10:25:27 291

原创 winform导入Excel数据时,进度条功能

(3)通过循环加Sleep(200)模拟导入时消耗的时间,并报告给主线程来更新进度条的值(更新值是在ProgressChanged方法中)(3)创建BackgroundWork实例,并为他注册三个事件(DoWork,ProgressChanged,Completed)(4)progress变量用来检测导出结果,当值大于0时,说明导入已经结束,此时设置进度为100,并跳出循环。4.编写ProgressChanged方法,更新进度条和标签的值。(2)获取excel中的总行数。(1)打开文件对话框。

2024-02-23 11:41:06 230

原创 c# winform 将数据库所有表导出至一个excel文件中

将数据库所有表导出至一个excel文件中,存在多个sheet页,每个sheet页的名字就是数据库的表名。

2024-02-07 16:15:08 202

原创 c# winform中使用NPOI,实现excel导入导出功能

3.第三个方法插入数据库,我使用的是sqlite,大家注意更换自己的数据库。因此在操作数据库的工具类中需要增加开启事务的方法和使用事务进行增删改的方法。1.在项目上右键——》管理Nuget包——》搜索NPOI——》安装。另外在插入时我使用了事务,确保数据要么全部插入成功,要么全部失败。2.编写一个ExcelHelper类。

2024-02-04 16:51:12 980

原创 c# winform项目datagridview动态切换数据源

(3) 然后需要在ComboBox的TSelectedValueChanged事件中获取选择的表名,将表名传递给查询所有数据的方法,就可以实现下拉框切换,来改变datagridview的数据源了。(1)查询sqlite数据库中的所有表(系统表除外),然后将表名存入_tables数组中。(2)将表名数据绑定给下拉框ComboBox。查询方法中表名需动态传入。

2024-01-31 15:48:01 214

原创 安装和配置Sqlite

步骤:此电脑——属性——高级系统设置——环境变量。2.找到download,然后把这两个都下载。5.验证sqlite是否安装好了。win+R:输入cmd进行终端。1.首先要去官网进行下载。3.解压放在一个位置。输入:sqlite3。

2024-01-23 11:46:07 559 1

原创 如何计算圆弧的外接矩形

我们要计算一段圆弧的外接矩形,肯定起码知道了这段圆弧的数据,比如圆心,半径,起始点(StartPoint),结束点(EndPoint),起始角度(StartAngle),夹角(SweepAngle),结束角度(EndAngle)等。1.我的思路是以圆心为坐标原点,构建坐标轴,判断这段圆弧和那个轴有交点,那么这就是外接矩形的一个边界值了。比如下面这个圆弧,我以圆心为坐标轴原点,建立坐标系,那么矩形的最上边和最右边的值就可以确定了。然而这只是夹角为正时,所以夹角的正负需要为2种情况来讨论。

2024-01-18 15:35:44 488 1

原创 c# 改变鼠标指针的显示位置

我在winform的项目中有这样一个需求,绘图时,需要有一个辅助功能——对象捕捉,也就是参考CAD软件中,当开启了对象捕捉之后,鼠标的移动会按照单位进行移动了,下面有一个示例。如果开启对象捕捉,将鼠标默认的指针隐藏掉,再绘制一个十字代替鼠标指针。

2023-12-25 16:48:09 495

原创 c# 使用Form实现自定义弹出框功能

需要注意的是,如果你需要改变form弹出的位置,那么必须将FormStartPosition属性设置为Manual,这样后续给location赋值才能生效。在form中放一个label,用来展示提示信息,再放一个textbox用来接收用户输入。

2023-12-21 15:42:40 534

原创 c# 绘制椭圆弧

主要是使用了GraphicsPath对象的AddArc()方法。先看看椭圆弧长什么样。

2023-12-11 15:14:07 331

原创 c# 弹出输入框

Interaction.InputBox("请输入多边形的边数", "输入", "123", (int)centerX, (int)centerY);使用Interaction.InputBox(),他是vb中的组件,因此需要导包using Microsoft.VisualBasic;第四个参数:弹出框显示的水平位置。第五个参数:弹出框显示的垂直位置。第三个参数:输入框的默认值。第二个参数:弹出框的标题。第一个参数:提示信息。

2023-11-29 16:21:23 1248 1

原创 使用vs2022 打包项目

9.改个名字,也可以在属性中修改图标,注意这个图标要是.ico文件,而且不可以用其他格式图片修改后缀名,这样可能会出现检测不到的问题。11.也可以在创建一个,拖入User's Pergrams Menu里,这样会使程序安装完之后,出现在开始菜单中。10.然后将这个快捷方式拖进user's desktop,这样程序安装好之后,在桌面就会直接生成快捷方式。12.就打包好啦,在Debug文件夹中,可以直接双击进行安装啦。2.搜索install,找到这个,然后安装。这些设置完成后,选择刚创建的项目,点生成。

2023-11-28 14:31:11 571 1

原创 C# Winform中statusStrip控件的使用

2.在Designer.cs文件中,toolStripStatusLabel1的地方, 添加一行代码。statusStrip控件的效果是在最底部显示的,可以用来放一些类似版本信息,页码,联系方式等内容。1.首先需要改statusStrip控件的一个属性。但他默认是靠左显示,我们如何使他靠右显示呢。实现的效果图,已经靠右显示了。

2023-11-24 16:56:36 784 1

原创 C# Winform 保存数据至xml文件中

1.举个例子,一个很简单的xml结构。

2023-11-24 16:22:17 643 1

原创 C# Winform绑定键盘快捷键

(1)有个前提,在Form的属性中将keyPreview改为true。2.给自定义控件绑定快捷键直接在keyDown中写就行。(2)事件中找到keyDown事件。1.给Form窗体绑定快捷键。

2023-11-24 09:51:35 605 1

原创 c# winform 删除时弹出提示框,是否确认删除

【代码】c# winform 删除时弹出提示框,是否确认删除。

2023-11-21 14:28:46 423 1

原创 c# 使winform项目启动时,位于屏幕中央

没有一点废话,直接上代码。在Form窗体的构造函数中加入下面这行代码即可。

2023-11-21 14:18:43 410 1

原创 c# winform添加右键菜单

2.将菜单绑定到右键上,在鼠标点击事件时,判断点击按钮为右键时,弹出菜单,弹出的位置为鼠标当前所在位置。1.工具箱中找到ContextMenuStrip,然后可以直接编辑菜单的选项。

2023-11-17 09:03:34 432

原创 C# 使用Bitmap位图之后,绘制内容会变粗

使用Bitmap位图之后,使用g.DrawString()绘制刻度值时,发现绘制内容会变粗,有点莫名其妙的。也是找了很久的原因,后来发现,只需要添加。附上最后成功的效果图。

2023-11-16 15:52:02 85 1

原创 C#绘图时使用委托和事件,从控件向窗体中进行传值

1.要编写一个方法用来接收参数,并显示在textBox上。我是在鼠标移动事件中,实时传递xy坐标。1.首先在控件中定义委托和事件。3.在窗体中进行接收,并显示。2.触发事件,进行数据传递。

2023-11-14 11:49:59 62

原创 C#绘图 实现平移功能

1.将鼠标的实时坐标传递给窗体,进行显示(因为此时编写的代码都是在控件中),在这里由控件向窗体传递数据使用委托和事件进行实现,具体实现会在下一篇中讲述。我在鼠标移动事件中实现了两个功能。2.鼠标中键实现拖拽平移的效果。

2023-11-14 11:43:00 164

原创 c#绘图实现缩放功能 缩放坐标轴和绘制内容

缩放我这里绑定的是鼠标的滚轮事件,这个事件可能在控件的属性中找不到,需要自己定义方法,并在designer.cs文件中使控件订阅此事件。然后开始编写缩放事件。

2023-11-14 11:35:52 359

原创 c# 绘制带刻度的坐标轴

在绘制坐标轴的基础上,再绘制上刻度。

2023-11-14 10:36:04 262

原创 c# 绘制坐标轴

这是一段很简单的绘制坐标轴的代码,这里的 centerX=this.Width/2 , centerY=this.Height/2。简单来说就是画布的中心。

2023-11-14 10:31:23 241

原创 C# 绘图

(2)然后使用 g.TranslateTransform(centerX, centerY);将原点平移至画布中心,但此时Y轴的正方向是朝下的。(3)使用g.ScaleTransform(1, -1);将Y轴进行反转,此时的坐标系就是我们数学中的坐标系了。3.默认的(0,0)点是在屏幕的左上角,如何实现自定义坐标轴(位于画布中心)2.绘图是在控件的Paint事件中进行,也可以通过重写Onpaint方法。创建的项目为Windows窗体控件库。

2023-11-14 10:24:45 54

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除