winform

Winform中实现ZedGraph不显示y=0这条刻度线

久未见 提交于 2019-11-30 13:23:40
场景 Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100112573 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100132245 在上面实现显示多条自定义Y轴的效果上,发现每增加一条Y轴就会在曲线图上增加一条y=0的曲线图。 怎样在新增YAxis时不显示y=0这条曲线。 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 在生成YAxis以及Y2AXis时设置其IsZeroLine属性为false。 mypane.YAxis.MajorGrid.IsZeroLine = false; mypane.Y2Axis.MajorGrid.IsZeroLine = false; 如果说设置了之后不起作用,看一下有没有设置这条代码: myPane.YAxis.MajorGrid.IsVisible = false; 其默认值是true,将其删掉或者注释掉,否则不起作用。 效果 来源:

(七十一)c#Winform自定义控件-折现图

六月ゝ 毕业季﹏ 提交于 2019-11-30 09:32:14
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 GitHub: https://github.com/kwwwvagaa/NetWinformControl 码云: https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492 麻烦博客下方点个【推荐】,谢谢 NuGet Install-Package HZH_Controls 目录 https://www.cnblogs.com/bfyx/p/11364884.html 用处及效果 准备工作 请先了解GDI+相关知识 开始 添加一个类UCCurve 继承自UserControl 添加一些控制属性 1 /// <summary> 2 /// The value count maximum 3 /// </summary> 4 private const int value_count_max = 4096; 5 6 /// <summary> 7 /// The value maximum left 8 /// </summary> 9 private float value_max_left = 100f; 10 11 /// <summary>

winform应用程序异常处理

旧巷老猫 提交于 2019-11-30 09:27:39
对于winform应用程序补抓异常信息,我们经常用到得try catch。 如果代码中在某个地方执行异常,但是没有加try catch,这个时候就需要做一些全局异常捕捉。 怎么做到全局异常捕捉。winform程序在启动cs中,Program.cs添加以下事件 1.处理未捕获的异常 SetUnhandledExceptionMode 2.处理UI线程异常 ThreadException 3.处理非UI线程异常 UnhandledException 1 /// <summary> 2 /// 应用程序的主入口点。 3 /// </summary> 4 [STAThread] 5 static void Main() 6 { 7 try 8 { 9 10 //处理未捕获的异常 11 Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); 12 13 //处理UI线程异常 14 Application.ThreadException += Application_ThreadException; 15 //处理非UI线程异常 16 AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler

Winform中对DevExpress的RadopGroup的Description、Value、Tag、Text的理解与使用

╄→尐↘猪︶ㄣ 提交于 2019-11-30 08:18:11
原文: Winform中对DevExpress的RadopGroup的Description、Value、Tag、Text的理解与使用 场景 Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100540708 在上面实现了将RadioGroup的选项根据配置文件动态配置后, 需要根据代码生成RadioGroup的item并获取选中item的值。 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 一个RadioGroup每一个选项都是一个RadioGroupItem选项。 我们在使用代码生成一个RadioGroup时,需要设置每个Item展示时显示的值以及选中时获取的值。 item.Description 就是具体每个item选中的内容。 item.Value 就是每个item的value值。 item.Tag 是用来存取额外的值。 官方解释: Gets or sets an object that contains custom data for the current

Winform中设置ZedGraph的字体和间距不随图形的缩放而缩放

我与影子孤独终老i 提交于 2019-11-30 03:47:23
场景 C#窗体应用中使用ZedGraph曲线插件绘制图表: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99716066 Winforn中设置ZedGraph曲线图的属性、坐标轴属性、刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100112573 https://www.cnblogs.com/badaoliumangqizhi/p/11422087.html 在上面已经实现的效果为: 可以看到随着图形的缩小,相应的字体和间距等也被缩小,需要设置 字体大小和tic大小将始终完全符合指定的大小,而不进行任何缩放。 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 通过查找其手册文档,找到这么一个属性。 官方原文说明: Determines if the font sizes, tic sizes, gap sizes, etc. will be scaled according to the size of the Rect and the BaseDimension. If this value is

winform 窗体间的传值(转)

耗尽温柔 提交于 2019-11-30 02:58:40
原文: https://blog.csdn.net/e_wsq/article/details/7714031 源码: https://github.com/SHAREVIEW/winform-.git 在WinForm之间传值有很多种方法,在这里我用的是delegate and event进行传值. 新建一个WindowsApplication,创建两个WinForm.其实它们就是两个类. 每个WinForm中各加入一个Button和一个TextBox. 在WinForm2中写入代理和事件(delegate and event)如下: //代理声明 public delegate void SendMessage(string str); //事件声明 public event SendMessage SendEvent; private void btnSend_Click(object sender, EventArgs e) { //调用事件 SendEvent(textBox1.Text); } 在WinForm1中写入如下代码: private void btnShow_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); //Form2事件注册 f2.SendEvent+=new Form2

C# Winform控件自适应窗体大小

别说谁变了你拦得住时间么 提交于 2019-11-30 00:24:54
需求:当窗体尺寸动态改变时,窗体中的各种控件(包括Panel以及Panel中的子控件)可以动态调节自身大小,以适应窗体内容比例。 方法: 第一步,新建一个类,代码如下: class Resize { private Form _form; public Resize(Form form) { int count = form.Controls.Count * 2 + 2; float[] factor = new float[count]; int i = 0; factor[i++] = form.Size.Width; factor[i++] = form.Size.Height; foreach (Control ctrl in form.Controls) { factor[i++] = ctrl.Location.X / (float)form.Size.Width; factor[i++] = ctrl.Location.Y / (float)form.Size.Height; ctrl.Tag = ctrl.Size; } form.Tag = factor; this._form = form; } public void Form1_Resize(object sender, EventArgs e) { float[] scale = (float[])this

C#学习笔记之Winform登录注册

自作多情 提交于 2019-11-30 00:00:27
登录需求很常见,不管BS项目还是CS项目,你几乎都需要一个登录界面来开启你的项目。登录时通过查询验证数据库的用户名和密码,来判断是否登录成功。那么一个完整的登录过程需要有哪几步呢? 1,登录界面(Login): 两个Lable控件: 用户名 和 密码 对应两个Lable有用户名框和密码框两个TextBox控件: accountTextBox,passwordTextBox , 三个Button控件:登录(loginBouttom),注册(registeredButton),关闭(closeBouttom) Check控件:在密码框后面,是否显示密码(visibilityCheck) 2,注册界面(Registered) 三个Lable控件: 用户名 , 密码 和 重复密码 对应三个个Lable有用户名框和密码框三个TextBox控件: accountTextBox,passwordTextBox ,repeatPasswordTextBox 两个Button控件:注册(registeredButton),关闭(closeBouttom) 3,用到的工具类和静态类(前两个类我都专门写在一篇博客,这里就不上代码了) XmlToolClass:XML工具类 保存琐细的数据,比如记录最后一次成功登录的账号,没必要因为存一个账号而在数据库新建一个表。 SqlHelpClass

Winform将FastReport的report与PreviewControl建立绑定关系

落花浮王杯 提交于 2019-11-29 21:42:45
场景 FastReport安装包下载、安装、去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100893794 Winform中使用FastReport实现简单的自定义PDF导出: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100920681 如下点击按钮时将report控件的预览在指定的预览控件中显示,即建绑定关系。 实现 在Button的点击事件中 this.report1.Preview = this.previewControl1; 来源: https://www.cnblogs.com/badaoliumangqizhi/p/11535133.html

WinForm实现登录的正确姿势

安稳与你 提交于 2019-11-29 19:13:07
前言 登录可以说是一个比较常见的功能点,这里主要说的是登录成功后的跳转问题,我见过很多朋友在写的时候是直接把登录窗体隐藏掉然后将主窗体显示出来,这样虽然功能是实现了但是并不是很优雅,而且在主窗体关闭后还需要对登陆窗体进行手动的清理,否则整个程序进程并没有被关掉,也就造成了资源浪费。以下来分享一个较为优雅的方式来实现。 错误写法 这里我们在登录界面/窗体通过一系列验证后确认用户合法性,紧接着将登录窗体隐藏,显示主窗体。 private void btnLogin_Click ( object sender , EventArgs e ) { //验证输入合法性.... //验证用户信息.... this . Hide ( ) ; FrmMain frmMain = new FrmMain ( ) ; frmMain . Show ( ) ; } 这里我们还需要在主窗体的关闭事件中将当前程序进程进行手动关闭。 private void FrmMain_FormClosed ( object sender , FormClosedEventArgs e ) { Application . Exit ( ) ; } 以上这种写法是存在问题的,在进入主窗体后我们并没有把登录窗体的实例销毁而是直接进入到了主窗体,这样带来了两个问题,第一个就是资源浪费,也就是登录窗体始终占用资源