winform无边框窗体和timer控件

兔小灰385 兔小灰385     2022-08-07     300

关键词:

一、无边框窗体

1、控制按钮如何制作
就是放置可以点击的控件,不局限于使用按钮或是什么别的,
只要可以点击能触发点击事件就可以了

做的好看一点,就是鼠标移入,移出,按下三个事件会让按钮改变样式

如何获取图片的相对路径
Application.StartupPath + "\..\..\images\btn_close_highlight.png"

..文件夹名称... 向上翻一个文件夹

2、如何让窗体动起来
调用窗体移动的API

如果有其它控件覆盖了窗体,那么写好鼠标按下的事件委托就可以了

    //窗体移动API
        [DllImport("user32.dll")]
        public static extern bool ReleaseCapture();
        [DllImport("user32.dll")]
        public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
        public const int WM_SYSCOMMAND = 0x0112;
        public const int SC_MOVE = 0xF010;
        public const int HTCAPTION = 0x0002;
        [DllImport("user32")]
        private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
        private const int WM_SETREDRAW = 0xB;



        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if (this.WindowState == FormWindowState.Normal)
            {
                ReleaseCapture();
                SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
            }
        }

3、如何让窗体有阴影

  

  //窗体二边阴影
  public partial class Form1 : Form//窗体的类
    {
        private const int CS_DropSHADOW = 0x20000;
        private const int GCL_STYLE = (-26);

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int GetClassLong(IntPtr hwnd, int nIndex);  



        public Form1()//窗体本身的构造函数
        {
            InitializeComponent();//构造函数自带语句

            SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);

        }
    }

  窗体四边阴影:http://bbs.csdn.net/topics/390069539?page=1#post-395227949

二、timer控件 简单通讯
timer在组件里:
Enabled - 此控件是否启用
Interval - 间隔时间,毫秒
Tick事件 - 间隔指定时间后要执行的代码段

timer就是个线程,这个线程默认可以跨线程访问对象

无边框窗体timer控件

一、无边框窗体1、控制按钮如何制作 MouseEnter-鼠标移入的时候发生的事件pictureBox1.BackgroundImage=Image.FromFile(Application.StartupPath+"\..\..\images\btn_close_highlight.png");   MouseLeave-鼠标移出的时候发生的事件p 查看详情

无边框窗体用户控件timer控件

一、无边框窗体1最大化、最小化以及关闭按钮制作实际上就是更换点击前、指向时、点击时的图片(1)将图片放在该文件夹的Debug中,获取图片的路径Application.StartupPath+"\图片名.类型"(2)若是放在该文件夹的中,Application.Startu... 查看详情

winform怎么实现无边框阴影

参考技术A通过设置窗体的BackColor和Transparencykey两个属性实现了窗体的透明,但是将一张带有透明效果的PNG图片赋给BackgroundImage属性时,【窗体上的图片区域无法透明!】,按我预想的效果应该是【图片区域就是图片本身的效果... 查看详情

winform无边框窗体

一、无边框窗体1、控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要可以点击能触发点击事件就可以了做的好看一点,就是鼠标移入,移出,按下三个事件会让按钮改变样式Mouseenter鼠标进入Mous... 查看详情

winform关于无边框和拖动窗体边缘改变尺寸的踩坑笔记

C#winform踩坑笔记C#winform踩坑笔记 查看详情

无边框窗体和用户控件以及权限

无边框窗体:就是吧窗体的边框去掉,然后自己做按钮设置功能。无边框窗体的移动:将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用1//窗体移动API2[DllImport("user32.dll")]3publicstaticextern... 查看详情

winform如何用timer实现将时间动态显示在窗体上?

在窗体设计器里找到Timer控件拖拽到你的form中,然后将Interval属性值改为1000再timer控件的事件列表中订阅Tick事件,Timer控件就会每1000毫秒运行一次Tick事件的回调函数,如下:privatevoidtimer1_Tick(objectsender,EventArgse)this.Label2.Text="... 查看详情

无边框窗体和后台创建控件

1.无边框窗体 最小化最大化关闭按钮不一定非要用按钮来做,可以用图片写事件,加上鼠标移入移出点击来操作  MouseEnter-鼠标移入的时候发生的事件privatevoidpictureBox1_MouseEnter(objectsender,EventArgse){pictureBox1.BackgroundImage=Im... 查看详情

winform拖拽改变无边框窗体大小

      大家在进行Winform开发过程中,很容易就可以完成一个窗口的布局工作,但现在的软件界面美化效果一个比一个好,很多软件都是无边框的,于是乎,你是不是也感叹:winform的带边框的窗体如此丑陋,... 查看详情

winform无边框窗体阴影与移动

//窗体移动API[DllImport("user32.dll")]publicstaticexternboolReleaseCapture();[DllImport("user32.dll")]publicstaticexternboolSendMessage(IntPtrhwnd,intwMsg,intwParam,intIParam);publicconstintWM_SYSCOMMAND= 查看详情

winform无边框的窗体如何隐藏

参考技术A把FormBorderStyle的属性设为None这样就可以了 参考技术B右键点击窗体显示属性,将FormBorderStyle设置为None 参考技术C自己找属性 参考技术Dfrom.hide()本回答被提问者采纳 查看详情

winform无边框窗体拖拽实现

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsApplication1{publicpartialclassFo 查看详情

winform用户控件timer控件三级联动

用户控件:相当于自定义的一个panel里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件。使用方法:在项目上右键、添加、用户控件,之后用户控件的编辑与普通容器控件类似。如果要在后台往窗体中添加,将... 查看详情

c#winform窗体边框风格怎么样做的呢?

C#winform窗体边框风格怎么样做的呢?我意思就是,创建了一个窗体后,想让窗体的边框,用图片,就好象QQ的边框那样,或者像酷狗那些边框一样,有圆滑的效果,怎么做呢?还剩,无边框窗体的拖动\关闭等事件处理,怎么解决... 查看详情

winform无边框窗体点击任务栏最小化

protectedoverrideCreateParamsCreateParams{get{constintWS_MINIMIZEBOX=0x00020000;//Winuser.h中定义CreateParamscp=base.CreateParams;cp.Style=cp.Style|WS_MINIMIZEBOX;//允许最小化操作returncp;}}  查看详情

winform无边框窗体改变尺寸及移动窗体(代码片段)

#region无边框窗体移动改变大小[DllImport("user32.dll")]publicstaticexternboolReleaseCapture();[DllImport("user32.dll")]publicstaticexternboolSendMessage(IntPtrhwnd,intwMsg,intwParam,intlParam);publicconstintWM_SYSCOMMAND=0x0112;publicconstintSC_MOVE=0xF010;publicconstintHTCAPTION=0x0002;co... 查看详情

c#winform如何实现窗体边框半透明

基本思路:1、先找到微软窗体自带的属性里,把属性formborderstyle设置成NONE,这样就可以实现窗体无边框;2、最大化、最小化及关闭按钮,你可以通过增加按钮或图片类的控件来实现,主要看你自己界面的风格而定,在相应的按... 查看详情

c#-winform-timer控件

比如在窗体中显示时间:错误思路一:我在窗体结构函数中写入一个死循环,每隔一秒显示一次当前时间publicForm6(){InitializeComponent();while(true){label1.Text=DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");System.Threading.Thread.Sleep(1000);}}结构... 查看详情