UI设计
luckyone906
这个作者很懒,什么都没留下…
展开
-
c#中子控件在父控件中显示的位置问题
c#原创 2022-11-01 20:35:11 · 554 阅读 · 0 评论 -
c#中button单击时怎么消除高亮显示
c#原创 2022-10-27 19:58:07 · 652 阅读 · 0 评论 -
c#中禁用当鼠标位于控件上方时ToolStripDropDownButton上的蓝色焦点
c#原创 2022-10-27 19:43:27 · 895 阅读 · 0 评论 -
C#中隐藏窗体并执行窗体逻辑的方法
Winform原创 2022-09-17 08:28:09 · 953 阅读 · 0 评论 -
C#中控件如何设置透明色
设置窗体的TransparencyKey 属性,为你想要变成透明的颜色,比如:你把窗体背景色设置成红色,然后把TransparencyKey 设置成红色,代码:this.BackColor = Color.Red;this.TransparencyKey = Color.Red;原创 2021-11-06 10:55:55 · 2393 阅读 · 0 评论 -
Winform中提提升重绘效率-背景的设置
backgrounglayout属性设置为none,否则会影响重绘效率。原创 2021-03-29 21:30:56 · 323 阅读 · 0 评论 -
winform-日记
1.Form的属性TopLevel设置为false,就相当于usercontrol的功能了,可以被包含在容器中,只不过需要动态在代码中加载,usercontrol则可拖拽。原创 2021-02-20 22:53:20 · 261 阅读 · 0 评论 -
C#中如何获取鼠标及控件的位置坐标(相对于屏幕)
0:Control.PointToScreen:将指定工作区点的位置计算成屏幕坐标1:Control.MousePosition: 鼠标相对于屏左上角的坐标;2:this.PointToClient(Control.MousePosition):将指定屏幕点的位置计算成工作区坐标 (鼠标相对于窗体工作区的坐标);3:this.Location:窗体左上角相对于屏左上角的坐标;4:System.Windows.Forms.Cursor.Position:鼠标相对于屏左上角的坐标,等同于C...原创 2021-02-19 21:44:06 · 8779 阅读 · 0 评论 -
C#中改变进度条(progressbar)的颜色
改变系统自带进度条的方法就是重绘了。具体方法如下:1. 自定义控件继承自ProgressBar,如下:publicclassCustomProgressBar:ProgressBar{publicCustomProgressBar(){base.SetStyle(ControlStyles.UserPaint,true);//...}...原创 2021-02-04 20:00:07 · 3446 阅读 · 0 评论 -
winform中UI设计分辨率问题
1.UI设计可以自适应或固定分辨率,自适应需要手动写调整控件尺寸位置代码;固定分辨率需要固定尺寸的UI资源图片(如背景图片)和固定的终端分辨率(如pc端不一致需调整分辨率为初始设计的分辨率)。...原创 2021-01-21 21:48:59 · 537 阅读 · 0 评论 -
winform的UI设计关键属性汇总
1.将控件的坐标转换成屏幕的坐标KeyBoard.StartPosition = FormStartPosition.Manual; Point showPoint = ActiveTBox.PointToScreen(new Point(0, ActiveTBox.Height));//此处形参是ActiveTbox中的工作区坐标 KeyBoard.Location = new Point(basePoint.X, showPoint.Y+ 50 );...原创 2021-01-20 22:03:29 · 262 阅读 · 0 评论 -
C#实现软键盘的几个关键技术实现方法
在嵌入式应用和一些安全软件中经常需要不通过物理键盘输入,虽然微软提供了也一个软键盘,但这个软件盘不能定制界面不能自动感应当前光标是否处于输入状态,所以有时候我们还是需要自己来实现这个软键盘。本文将讲解自己实现软键盘时涉及到的几个关键技术。一、浮动窗体的实现软键盘的窗体和普通窗体不一样,这个窗体在成为当前窗体时,不会影响其它进程的窗体的光标焦点。也就是说虽然这个窗体现在为当前激活的前台窗体,但光标仍然停在其他进程的窗体上。如上图所示,虽然软键盘在记事本的前面,但光标仍然在记事本上。要实现这原创 2021-01-13 19:26:34 · 1435 阅读 · 1 评论 -
Winform中FormClosing与FormClosed区别与使用
FormClosing与FormClosed事件 都是关闭窗体触发的事件,区别FormClosing事件是在 关闭窗体时发生,用户可以在该事件中 取消关闭,窗体仍然保持打开状态。因此可以在该事件中提示一些状态信息,询问用户是否关闭窗口。FormClosed事件 是在关闭窗体后发生,可以在该事件中处理保存窗口的一些信息等操作,不能取消窗口关闭。使用FormClosing 询问 窗口是否关闭 private void win_FormClosing(o...原创 2021-01-10 13:08:21 · 2914 阅读 · 0 评论 -
C#控件常用设计整理大全
1、常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。(2)WindowState属性:用来获取或设置窗体的窗口状态。取值有三种: Normal (窗体正常显示)、 Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示)。(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。(5)Width属性:用...原创 2021-01-10 10:32:40 · 781 阅读 · 0 评论 -
C#Winform中控件的布局思想
windows窗体应用程序的控件都派生自Control类,并继承了许多通用成员,下面介绍Control类的一些基本特征,了解这些能够大致知道控件是如何实现在窗体中布局的。Achor 指示在控件的容器被调整时,控件紧贴着哪个方向的边沿,例如在一个窗口中放置一个按钮,并将按钮的Anchor属性设置为Right+Bottom,当用户调整窗口的大小时,按钮将保持与窗口的底部和右边沿的距离不变 ForeColor、BackColor ForeColor属性表示前景色,即控件上呈现的文本的颜色;Ba原创 2021-01-10 10:31:08 · 3111 阅读 · 0 评论 -
C语言基础MessageBox(......)用法详解
MessageBox() 功能显示一个消息对话框。 语法MessageBox(text,title{,icon{,button{,default}}}) 参数title:string类型,指定消息对话框的标题text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boolean值icon:Icon枚举类型,可选项,指定要在该对话框左侧显示的图标button:Button...原创 2020-04-28 21:05:15 · 5543 阅读 · 2 评论 -
c#滚动条创建实例,多线程
1.滚动条using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using S...原创 2020-03-31 21:55:36 · 381 阅读 · 0 评论 -
C#winform使用进度条
在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个介绍。第一步:设计界面不说了...注意需要引用 using System.Threading;第二步:定义一个代理,用于更新ProgressBar的值...原创 2020-03-31 21:41:42 · 2290 阅读 · 0 评论 -
c#使用System.Windows.Forms.DataVisualization.Charting.dll绘制图表实例
首先下载System.Windows.Forms.DataVisualization.Charting.dll,然后引用到项目中手动在代码中创建chart类型并将其添加到某个控件中(control.controls.add(chart)),然后参数初始化添加样式和数据就可以了。以下是效果图和代码using System;using System.Collections.Ge...原创 2020-03-16 21:03:42 · 12125 阅读 · 0 评论 -
c#中chart绘制曲线,柱状图等
通常我们需要在界面中绘制波形图,柱状图,折线图等等。此时用到Chart控件是非常方便的。先以图一条样条曲线(Spline)为例(1)在Visual Studio中新建一个“Windows窗体应用程序”(2)在Form1上布置一个Chart控件。默认地,Chart控件显示的是直方图(3)Form1的窗体代码Form1.cs 1 2 3 4...原创 2020-03-16 20:35:20 · 9757 阅读 · 0 评论 -
c#中invoke和beginvoke的区别
thread th=new thread(()=>{control.invoke(new Action(()=>{thread.sleep(5000);}));//dosometings});th.start();这个线程里的dosometings将在5000毫秒后执行,invoke是在异步线程阻塞的,可以阻塞另一个线程,而begininvoke则相反是非阻...原创 2020-03-13 22:20:08 · 1020 阅读 · 0 评论 -
c#绘制星图靶标实例
public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ...原创 2020-01-11 21:57:20 · 536 阅读 · 0 评论 -
c#中在工作线程创建窗体并操作
实例1 public void CycleShow()//循环绘图 { Task.Factory.StartNew(() => { // threadB = new Thread( //() => { AllDealWithSpectrum...原创 2020-01-11 14:28:28 · 1138 阅读 · 0 评论 -
c# 窗口句柄问题 。
1、如何获得一个窗口的句柄? 例如获取窗口PictureBox控件(其他控件也可以)的句柄,[csharp] view plain copyIntPtr handle = pictureBox.Handle; 2、注意:窗口创建和窗口创建完毕即有句柄完全是两回事!!! 窗口创建时,窗口并没有创建句柄,只有Ap转载 2017-12-28 16:35:48 · 5489 阅读 · 0 评论 -
c#中已知一个外部窗口的句柄,怎么关闭
已知一个外部窗口的句柄,怎么关闭它。怎么给这个窗口的一个文本框设置内容。 c#已知一个外部窗口的句柄,怎么关闭它。怎么给这个窗口的一个文本框设置内容。本文地址 :CodeGo.net/1079020/ ---------------------------------------------------------------------------------------转载 2017-12-28 17:08:43 · 3175 阅读 · 0 评论 -
c#中字节数组byte[]、图片image、流stream,字符串string、内存流MemoryStream、文件file,之间的转换
字节数组byte[]与图片image之间的转化字节数组转换成图片public static Image byte2img(byte[] buffer){ MemoryStream ms = new MemoryStream(buffer); ms.Position = 0; Image img = Image.FromStream(ms); ms.Clos转载 2018-01-24 12:38:59 · 1666 阅读 · 3 评论 -
ToolStrip和ToolStripButton的用法
假设我的toolstrip里面有三个toolstripbutton分别是tsp1、tsp2、tsp3依次加载,如何设置tsp3显示在toolstrip的第一个按钮。ToolStripItem tsm= toolStrip1.Items[2];toolStrip1.Items.RemoveAt(2);toolStrip1.Items.Insert(0, tsm);原创 2016-11-23 18:47:48 · 10056 阅读 · 1 评论 -
C# 窗体Show和ShowDialog 方法的区别详解
CenterParent 窗体在其父窗体中居中。 CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。 Manual 窗体的位置由 Location 属性确定。 WindowsDef转载 2017-12-28 16:14:21 · 6802 阅读 · 0 评论 -
Windows窗口刷新机制详解
1、Windows的窗口刷新管理窗口句柄(HWND)都是由操作系统内核管理的,系统内部有一个z-order序列,记录着当前窗口从屏幕底部(假象的从屏幕到眼睛的方向),到屏幕最高层的一个窗口句柄的排序,这个排序不关注父窗口还是子窗口。当任意一个窗口接收到WM_PAINT消息产生重绘,更新区域绘制完成以后,就搜索它的前面的一个窗口,如果此窗口的范围和更新区域有交集,就向这个窗口发送WM转载 2017-12-28 16:00:13 · 6908 阅读 · 0 评论 -
C# 理解lock
一. 为什么要lock,lock了什么?当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时的,也即保证其操作的原子性。lock是C#中最常用的同步方式,格式为lock(objec转载 2017-10-29 19:54:56 · 369 阅读 · 0 评论 -
C#中Invoke 和 BeginInvoke的涵义和区别
BeginInvoke 方法真的是新开一个线程进行异步调用吗?参考以下代码:public delegate void treeinvoke();private void UpdateTreeView(){ MessageBox.Show(System.Threading.Thread.CurrentThread.Name);}priv转载 2017-10-29 19:53:34 · 611 阅读 · 0 评论 -
【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)
今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间的区别。所以花了点时间研究了下。 据msdn中介绍,它们最大的区别就是BeginInvoke属于异步执行的。Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托。Control.BeginInvoke 方法 (Delegate) :在创建控件的转载 2017-10-29 19:51:22 · 580 阅读 · 0 评论 -
c#中的Form.Show和Form.ShowDialog的区别
出处:http://hi.baidu.com/cysteine/blog/item/01e32224702ff5398744f9bf.html 区别1:ShowDialog是模态的(独占用户输入),Show是非模态的。区别2:根据1,ShowDialog只能打开一个自己,Show可以打开多个自己。区别3:根据2,使用Show方法打开的Form在关闭时会立即调用Dispose释放资源转载 2017-09-22 09:41:51 · 2590 阅读 · 0 评论 -
C#图像处理基础概念知识
图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大。(1)航天和航空技术方面的应用 数字图像处理技术在航天和航空技术方面的应用,除了上面介绍的JPL对月球、火星照片的处理之外,另一方面的应用是在飞机遥感和卫星遥感技术中。许多国家每天派出很多侦察飞机对地球上有兴趣的地区进行大量的空中摄影。对由转载 2018-01-08 15:42:37 · 1425 阅读 · 0 评论 -
VS2013 MFC基于对话框编程(创建工程)
一、新建MFC项目选择:基于对话框MFC的使用: 在共享DLL中使用MFC (程序运行需要dll) 在静态库中使用MFC (程序较大,运行时不需要dll) 设置MFC程序主框架样式和标题 高级功能 若是用不上“ActiveX控件”可以去掉勾选,若要涉及到网络编程就把“windows嵌套字”选上 完成 二、MFC程序执行流程转载 2018-02-01 10:59:09 · 1973 阅读 · 0 评论 -
MFC中画直线和曲线的几种方法
一、画直线要想在MFC中画出有颜色的线条,首先就要设置DC的画笔,我们可以按如下方法来设置画笔: 第一步:在View类中添加一个COLORREF类型的数据成员m_Color(用来保存画笔颜色值),在构造函数中对其初始化, m_Color(RGB(255,0,0)) 第二步:在WM_LBUTTONDOWN和WM_LBUTTONUP消息的处理函数OnLButtonDown和OnL转载 2018-02-01 12:11:47 · 8945 阅读 · 1 评论 -
如何在C#控件中画点并获得指定点的像素颜色
画点的方法:方法一: 用picGraphics.FillRectangle(new SolidBrush(fillColor), p.X, p.Y, 1, 1); 即用一个像素填充方法.方法二: 用gdi32.dll库中的SetPixel方法[DllImport("gdi32.dll")]private static extern int SetPix...原创 2019-08-14 19:08:15 · 2179 阅读 · 1 评论 -
C# 获取鼠标相对当前窗口坐标的方法
编写客户端应用程序时,经常要用到鼠标当前的位置。在C#的winform开发中,可以用Control.MousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标。示例如下:Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标Point formPoint = this.Poin...原创 2019-08-14 10:27:52 · 5172 阅读 · 0 评论 -
C#用到windows 消息列表Message类MSG的id代号
C# Constants:private const UInt32 WM_ACTIVATE = 0x0006;private const UInt32 WM_ACTIVATEAPP = 0x001C;private const UInt32 WM_AFXFIRST = 0x0360;private const UInt32 WM_AFXLAST = 0x037F;private cons...转载 2019-07-22 16:54:14 · 608 阅读 · 0 评论 -
C# Message 消息处理
一、消息概述 Windows下应用程序的执行是通过消息驱动的。消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理。C#自定义消息通信往往采用事件驱动的方式实现,但有时候我们不得不采用操作系统的消息通信机制,例如在和底层语言开发的DLL交互时,是比较方便的。下面列举了一些实现方式,供大家参考.1 什么是消息(Message) 消息就是通知...转载 2019-03-19 12:05:24 · 5124 阅读 · 0 评论