[C# WinForm] 窗体美化

C# TextBox美化 ···重绘边框 using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Windows.Forms;//name:5+x 2011/5/14namespace GlassText{    public partial class GlassText : Tex 阅读详情

前两天想用 mfc 写一个自绘的窗体,折腾了两天把我劝退了,原因是 mfc 对控件透明以及除 bmp 以外的图片支持的很不友好,做出的效果差强人意。 总而言之,我今后再也不用 mfc 搞美化了 , 艹 🙃


大牛写的控件类库

https://github.com/LYingSiMon/NetWinformControl


设置无边框

(1)设置窗体的 FormBorderStyle 为 None。
在这里插入图片描述

(2)添加事件,MouseDown、MouseMove、MouseUp ,并分别写入如下代码(目的是让窗口可被拖动)

bool beginMove = false;
int currentXPosition;
int currentYPosition;


 private void Form1_MouseDown(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         beginMove = true;
         currentXPosition = MousePosition.X;
         currentYPosition = MousePosition.Y;
     }
 }

  private void Form1_MouseMove(object sender, MouseEventArgs e)
  {
      if (beginMove)
      {
          this.Left += MousePosition.X - currentXPosition;
          this.Top += MousePosition.Y - currentYPosition;
          currentXPosition = MousePosition.X;
          currentYPosition = MousePosition.Y;
      }
  }

  private void Form1_MouseUp(object sender, MouseEventArgs e)
  {
      if (e.Button == MouseButtons.Left)
      {
          currentXPosition = 0; 
          currentYPosition = 0;
          beginMove = false;
      }
  }
}

设置窗口背景图片

注意有一点就是 .net framework 的窗体程序添加的背景图片会很模糊,但 .net core 的窗体程序不会。后来发现是因为 win10 默认会放大 125% (在显示设置里),导致这个图片被拉伸,拉伸后就变得模糊了,但是 framework 应该是没有对这个做优化,所以在设置里把 125% 改成 100% 也能解决问题。😁

(1)双击 Resources.resx ,添加一个图片资源:
在这里插入图片描述
(2)在 Load 函数里添加代码,使背景图片自适应窗体大小

 private void Form1_Load(object sender, EventArgs e)
 {
      this.BackgroundImageLayout = ImageLayout.Stretch;
 }

透明 TextBox 控件

(1)创建一个类(在当前项目中就可以,不是新创建一个控件类库哦!),取名为 textbox_lucency,代码如下:

// 需要引用如下头文件
using System.Windows.Forms;
using System.Runtime.InteropServices;


class textbox_lucency:TextBox
{
    [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    private static extern IntPtr LoadLibrary(string lpFileName);
    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams prams = base.CreateParams;
            if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
            {
                prams.ExStyle |= 0x020; 
                prams.ClassName = "RICHEDIT50W";
            }
            return prams;
        }
    }
}

(2)从工具箱内拉一个正常的 textbox 出来,并在 Form1.Designer.cs 里修改这个控件对应的类名:
在这里插入图片描述
在这里插入图片描述
(3)控件设置成无边框
在这里插入图片描述

(4)运行程序,如图已经实现了透明效果
在这里插入图片描述


按钮背景图片

(1)添加背景图,并设置自动平铺
在这里插入图片描述

(2)其他相关属性
在这里插入图片描述

(3)效果如下,至于悬停点击等事件的背景切换,需要另外处理
在这里插入图片描述

c# WinForm之窗体美化 1、定义系统API [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool ReleaseCapture(); [System.Runtime.InteropServices.DllImport("user32.dll")] ... 阅读详情

相关推荐

C# 用IrisSkin4美化WinForm窗体

1:将IrisSkin4复制到对应目录。4:工具箱添加工具skinEngine。5:窗体中添加工具skinEngine。3:项目中添加IrisSkin4引用。6:在Form构造函数中添加代码。2:将皮肤文件复制到对应目录。

weixin_42405859的博客 1456

c#简单几步实现圆角文本框

没有圆角化的文本框 很多时候我们在设计uI界面时都会用圆角设计,圆角相比直角看着要友好一些,也更符合现在的审美,在c#中实现圆角我们只需要在XAML中给他添加几行代码就可以做成圆角形状。 <TextBox x:Name="text" HorizontalAlignment="Left" FontSize="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="83" Margin="173,

SunQIXin的博客 4454

C# winform窗体UI美化后实现最大化、最小化、还原、关闭、窗体移动等等-2023/1/11

C# winform窗体UI美化后实现最大化、最小化、还原、关闭、窗体移动等功能

lilizys的博客 4608

跟我学做c#皮肤美化(八)--Textbox

效果预览     还是先看看最终的效果图(和QQ登陆中的输入框效果差不多):            效果说明: 1.实现了水印的效果 2.实现了鼠标移上去的时候周围产生辉光 3.输入前端可以设置图片 实现辉光效果     整体说明:           前面显示的那个图片我采用的是一个picturebox,当然如果你愿意也可以自己画(后续的“button再探讨...

weixin_33724059的博客 1106

C# 美化WinForm窗体自带的系统菜单

实现对系统菜单的自绘是非常麻烦的事情,花了不少时间,虽然实现了,但是还是不是很满意,因为还会闪烁,用了很多方法没能解决,就暂时这样先了。先来看看最后的效果: 先说说最开始的想法,因为我原来以为这是不会很难实现的一个东西,做了才知道,这个东西还真是特别,用正常的办法处理是不行的。第一次尝试:通过得到系统菜单的句柄,然后通过截取消息就可以对它进行绘制了,不过这个系统菜单很特别,

starts_2000的专栏 3646

C#winform自定义控件——textBox美化(二)

实现textBoxt说有属性和方法的重写,可以实现textBox的美化功能,纯代码编写,完全不使用任何第三方库文件,后面的文章还会写其他控件的重构,基本原理都是差不太多的,希望大家学习这些思路从而重构属于自己的控件 我们接着上一篇文章继续。 我会用很多篇文章来讲自定义控件,大家可以放在一个项目中,这样后面大家在做其他项目的时候只需要把我们做好的控件复制到其它项目中并添加就可以了 设置是否多行显示和设置背景颜色,我这里就不放原代码了,希望大家自己对着图片敲出来,不是简单的复制,当然如果大家真的不想敲

奔跑的郑的博客 2447

c#自定义消息框美化步聚

本人一直从事安防行业的编程,从VB到VB.NET,从VC到QT,从C#桌面开发到C#嵌入式开发,辗转多门语言,这几天静下心来思考,将很多项目中经常用到的处理封装起来,以备后用,特别是近期接了几个私活,如果用已经封装好的常用的处理来开发的话,估计速度会加快很多,效率也会提高不少,特意准备花几个星期时间,将常用处理以及自定义控件集合到一个项目。 Windows自带的消息框比较丑,特别是转到WIN

u013800252的专栏 3349

Winform MessageBox 自定义设计样式

Winform MessageBox 自定义设计样式,根据自己需要更改样式

C# Winform 窗体美化(目录)

最近在看 C# Winform 的窗体美化,发现一些很有用的美化皮肤库,学习过后也把一些资料整理一下。一、IrisSkin 换肤库(IrisSkin4) 二、LayeredSkin 界面库(LayeredSkinDemo) 三、不规则窗体(GoldFishProject,TransparentForm) 四、镂空窗体(HollowForm) 五、鼠标穿透(MousePenetration)

于大大大洋 3万+

Jacobi正交多项式在数值分析中的应用与实现

本文深入探讨了Jacobi正交多项式在数值分析中的核心应用与实现。作为最通用的正交多项式族,Jacobi多项式通过参数α和β的调节,可退化为切比雪夫、勒让德等经典多项式,为函数逼近、奇异积分和微分方程求解提供了统一框架。文章重点解析了其在加权高斯积分(高斯-雅可比积分)和谱方法求解微分方程中的关键作用,并提供了基于递归关系和SciPy的稳定高效实现方案,帮助读者掌握这一强大的数值计算工具。

weixin_29306011的博客 243

如何配置 OpenClaw 使用免费搜索工具:摆脱付费 API 限制

本文介绍了如何配置OpenClaw使用免费搜索工具来替代付费API。主要内容包括:1)启用内置的web_fetch工具直接获取网页内容;2)创建自定义脚本聚合免费AI资讯源;3)配置其他免费网络工具。文章详细说明了配置步骤,推荐了多个优质免费AI资讯网站,并分析了该方案的优劣势。这种配置方式完全免费且灵活,特别适合预算有限的用户,能够在不依赖付费API的情况下获取所需信息。

dongdeaiziji的专栏 9813

Skin控件 C# Winform窗体美化控件

Skin控件 C# Winform窗体美化控件     c# 程序皮肤控件2008-09-12 16:16Visual Studio 2005工具箱上右击选择“选择项”,慢慢等...在弹出的“选择工具箱项”选项卡中,点击“浏览”,找到IrisSkin2.dll存放的位置,双击,你会发现多了个“SkinEngine”,确定。将公共控件里的“SkinEngine”,拖到窗体上,将皮肤文件*.

一米阳光的专栏 4632

PuTTY使用方法

PuTTY是一款开源SSH/Telnet客户端,主要用于Windows系统连接Linux服务器。使用步骤包括:下载安装PuTTY,输入服务器IP和端口(默认22),可选择保存会话配置。支持密码和SSH密钥认证(需转换.pem为.ppk格式)。首次连接需确认主机密钥,成功登录后可执行Linux命令。其他功能包括会话日志记录、X11转发和端口隧道配置。操作完成后输入exit断开连接。

特网云计算 3144

基于C#的WinForm窗体美化(无须美工功底)

基于C#的WinForm窗体美化(无须美工功底) 在近期的实训中,学习到了许多精髓的小知识。接下来我会发布几篇博客,分享我的开发经验。 在设计面向对象的UI层界面时,常常因为WinForm自身的窗体界面不够美观而去反复修改各种控件的位置。当然在不同的Windos中,WinForm所具有的主题也是不同的,但对于颜控的我们,这些也是无法满足的。 所以今天我分享一个关于简单的对窗体进行美化的一个小技...

oshan2012的博客 2409

【DeepSeek应用实践】手把手教程:用 AnythingLLM + Ollama + DeepSeek-R1 搭建本地企业知识库

在众多的技术方案中,我们选择了 AnythingLLM、Ollama 和 DeepSeek-R1 这一组合来搭建本地知识库。Ollama 作为一个轻量级的本地化大语言模型部署工具,支持多种模型,易于安装和使用,能够快速在本地运行强大的语言模型。DeepSeek-R1 是一个专为知识库问答设计的检索增强生成(RAG)模型,它结合了检索和生成的优势,能够快速从知识库中检索相关信息并生成精准答案。而 AnythingLLM 则是一个用户友好的界面工具,可以方便地连接 Ollama 和 DeepSeek-R1

寻道AI,探索AI无限可能! 2566

Microsoft Forms功能深度解析:企业数据收集与协作的智能利器

Microsoft Forms是微软365生态中的在线表单工具,支持问卷调查、测验和投票创建,具备拖拽式界面、多题型设计和实时数据分析功能。其核心价值在于易用性、跨平台兼容性以及与Teams、SharePoint等微软服务的深度集成,满足GDPR/HIPAA等合规要求。提供表单创建、权限管理、自动化流程(通过Power Automate)和审计日志等功能,适用于金融、医疗、教育等多行业场景。虽然存在逻辑分支有限等约束,但通过案例证明能显著提升数据收集效率(达70-85%)。使用时需注意许可证配置(Busin

xueyunshengling的博客 9124

C# winform窗体程序的美化之路

写在前面: 今天帮同学做毕业设计一个简单的Windows窗体程序实现备忘录的效果,要求使用数据库,我想着很简单于是上手开始做,两天完成,于是同学拿去给老师检查,检查后老师认为不错功能实现完整。就是。。。界面太!丑!了! 强迫症的我当然不能忍受于是今天学习一下c#winform窗体程序的美化(我也是新手,各位大佬请多多指教)。 因为最近写的安卓程序中用了大量第三方开源框架,就想着c#会不会也有

平凡的过吧的博客 3万+

4、基于抽象解释的静态分析器中的跟踪分区与ASTRÉE分析器解析

本博客探讨了基于抽象解释的静态分析器中的跟踪分区技术,并深入解析了ASTRÉE分析器的工作原理和应用。通过示例程序说明了跟踪分区如何提升分析精度,减少误报,以及ASTRÉE如何利用多种数值抽象域(如八角形域、浮点区间线性形式等)来处理复杂的嵌入式C程序。此外,还讨论了ASTRÉE的模块化设计、循环展开优化、用户断言与自动细化的局限性等内容,为保障嵌入式软件的安全性和可靠性提供了理论与实践支持。

kotlin6android的博客 117

C#的WinForm窗体美化

为了帮助用户追求美观,.NET 4.0 专门为对此有需求的人提供了IrisSkin4.dll皮肤引用集,里面封装了许多对窗体重新描绘的方法,再搭配上WinForm特有的 .ssk 文件,就可以实现窗体的主题式美化,下面介绍如何使用这个皮肤引用集(用例项目名称为:Test 开发环境:Visual Studio 2012): 将IrisSkin4.dll下载至电脑中,并建议将该文件存放至项目的D...

weixin_30663471的博客 403

【PG高可用】一 PostgreSQL高可用方案repmgr部署(非常详细)

repmgr安装部署

DBA之路的博客 7052

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

vs2015 C# WinForm 使用皮肤 美化窗体

皮肤是个好东西,可以节约自己ps画的时间,而且还比你自己弄得好看。 首先是下载皮肤资源:https://download.youkuaiyun.com/download/myinc/9814636 ,某宝上可以5毛钱下载。 解压之后...

墨鱼菜鸡 438

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C# winform美化窗体

记录一下winform美化工具CSkin 一个.Net的UI库。 参考链接:https://blog.youkuaiyun.com/yyl7727/article/details/78904125?spm=1001.2014.3001.5502

susan的博客 1172

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: [MFC] 手动美化 MFC 窗体
下一篇: [C#] 创建自定义控件
(-: LYSM :-)
博客等级 码龄10年 428粉丝 273原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值