C#创建背景色渐变窗体的方法:创建特殊窗体

目录

1.让背景渐变色的理论基础

2.让背景渐变色的方法

3.一个实施例

(1)Form1.Designer.cs

(2)Form1.cs

(3)渐变的蓝色背景


        在窗体设计时,可以通过设置窗体的BackColor属性来改变窗口的背景颜色,但是该属性改变后整个窗体的客户区都会变成这种颜色,这样显得非常单调。如果窗体的客户区可以像标题栏一样能够体现颜色的渐变效果,那么窗体风格将会另有一番风味。

1.让背景渐变色的理论基础

        在实现窗体背景色渐变功能时主要用到了Color结构的FromArgb方法,Color结构表示一种ARGB颜色(alpha、红色、绿色和蓝色),其FromArgb方法用来从指定的8位颜色值(红色、绿色和蓝色)创建Color结构,该方法为可重载方法,其最常用的语法格式如下:

publie static Color FromArgb(int red,int green,int blue)

        FromArgb方法中的参数说明如表:

   

   

red

新Color的红色分量值,有效值为0~255

green

新Color的绿色分量值,有效值为0~255

blue

新Color的蓝色分量值,有效值为0~255

返回值

创建的Color结构

2.让背景渐变色的方法

        FromArgb方法就是用3种不同的色值来返回一个颜色,而稍微调整某一种颜色值就可以使整体的颜色发生细微的变化,在窗体中至上而下每行填充一种稍微调整后的颜色,这样整体看来就会产生渐变的效果。可以利用窗体的Graphics对象对窗体进行绘图,该对象可以完全操控窗体的客户区。

3.一个实施例

         生成渐变的蓝色背景。

(1)Form1.Designer.cs

namespace _184
{
    partial class Form1
    {
        /// <summary>
        ///  Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        ///  Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        ///  Required method for Designer support - do not modify
        ///  the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            SuspendLayout();
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(368, 252);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "窗体背景渐变色";
            ResumeLayout(false);
        }

        #endregion
    }
}

(2)Form1.cs

// 窗体渐变色
namespace _184
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 重写窗体背景色
        /// </summary>
        protected override void OnPaintBackground(PaintEventArgs e)
        {
            int intLocation, intHeight;
            intLocation = ClientRectangle.Location.Y;//为变量intLocation赋值
            intHeight = ClientRectangle.Height / 200;//为变量intHeight赋值
            for (int i = 255; i >= 0; i--)
            {
                Color color = Color.FromArgb(1, i, 100);
                SolidBrush SBrush = new(color);      //实例化一个单色画笔类对象SBrush
                Pen pen = new(SBrush, 1);            //实例化一个用于绘制直线和曲线的对象pen
                e.Graphics.DrawRectangle(pen, ClientRectangle.X, intLocation, Width, intLocation + intHeight);//绘制图形
                intLocation += intHeight;            //重新为变量intLocation赋值
            }
        }
    }
}

(3)渐变的蓝色背景

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/557030.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第35题搜索插入位置

题目&#xff1a; 题解&#xff1a; func searchInsert(nums []int, target int) int {n : len(nums)left, right : 0, n - 1ans : nfor left < right {mid : (right - left) >> 1 leftif target < nums[mid] {ans midright mid - 1} else {left mid 1}}retu…

【mac】【python】新建项目虚拟环境后,使用命令pip出现错误:zsh: command not found: pip

【mac】【python】新建项目虚拟环境后&#xff0c;使用命令pip出现错误&#xff1a;zsh: command not found: pip 问题描述&#xff1a; 拉取或者创建新的python项目时&#xff0c;为项目添加了新的解释器&#xff0c;创建啦虚拟环境&#xff0c;但是执行pip命令的时候找不到命…

倾斜摄影修模软件模方(ModelFun)4.1.0下载及安装教程

文章目录 一、模方(ModelFun)4.1.0安装二、模方(ModelFun)4.1.0下载一、模方(ModelFun)4.1.0安装 订阅专栏后(获取专栏内所有文章阅读权限及软件安装包),从文末下载软件模方(ModelFun)4.1.0安装包,如下所示,并开始安装。 1.计算机需要进入测试模式 键盘WIN+R,打开运行窗…

重磅福利!参与现金红包抽奖活动,赶快行动吧!

文章目录 粉丝福利 粉丝福利 亲爱的朋友们&#xff0c;令人振奋的消息来啦&#xff01;本月&#xff0c;我们特地为大家准备了一份特别的粉丝福利&#xff01;只要您轻轻一点&#xff0c;关注我们的公众号&#xff0c;就有机会抽取现金红包&#xff0c;让您的生活多一份惊喜与喜…

游戏前摇后摇Q闪E闪QE闪QA等操作

备注&#xff1a;未经博主允许禁止转载 个人笔记&#xff08;整理不易&#xff0c;有帮助&#xff0c;收藏点赞评论&#xff0c;爱你们&#xff01;&#xff01;&#xff01;你的支持是我写作的动力&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_w…

jenkins修改全局安全配置之后登录错误

教训&#xff08;流泪&#xff09; 事情是这样的&#xff0c;第一次我需要用单点登录集成jenkins&#xff0c;jenkins可以通过插件的方式支持cas协议&#xff0c;我当时也不很懂&#xff0c;经过我学网上的一顿乱配置&#xff0c;jenkis上不去了&#xff0c;虽然这是公司本地环…

【Linux学习】初识shell命令以及运行原理

这里写目录标题 &#x1f680;shell命令以及运行原理 &#x1f680;shell命令以及运行原理 Linux严格意义上说的是一个操作系统&#xff08;如下图所示&#xff09;&#xff0c;我们称之为“核心&#xff08;kernel&#xff09;“ 。 Linux系统的shell作为操作系统的外壳&…

开源大模型Llama 3 横空出世,4000亿参数性能直逼GPT-4

开源大模型Llama 3王者归来!最大底牌4000亿参数,性能直逼GPT-4 扎克伯格:「有了 Llama 3,全世界就能拥有最智能的 AI。」 ChatGPT 拉开了大模型竞赛的序幕,Meta 似乎要后来居上了。 扎克伯格在 Facebook 上发帖:Big AI news today. 借助先进的 Llama 3 模型,Meta 的 A…

STL的stack和queue(三):基于适配器模式的反向迭代器

目录 前言 list的反向迭代器 list.h文件 ReverseIterator.h文件 test.cpp文件 前言 迭代器按性质分类&#xff1a; 单向&#xff1a;forward_list双向&#xff1a;list随机&#xff1a;vector / deque 迭代器按功能分类&#xff1a; 正向反向const list的反向迭代器…

【笔试强训】Day2 --- 牛牛的快递 + 最小花费爬楼梯 + 数组中两个字符串的最小距离

文章目录 1. 牛牛的快递2. 最小花费爬楼梯3. 数组中两个字符串的最小距离 1. 牛牛的快递 【链接】&#xff1a;牛牛的快递 解题思路&#xff1a;简单模拟题&#xff0c;主要是处理⼀下输⼊的问题。 #include <iostream> #include <cmath> using namespace std;…

我与C++的爱恋:日期计算器

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 朋友们大家好啊&#xff0c;在我们学习了默认成员函数后&#xff0c;我们通过上述内容&#xff0c;来实现一个简易的日期计算器。 ​ ​ 头文件的声明 #pragma once #incl…

鸿蒙开发语言_ArkTS开发语言体验_TypeScript语言环境搭建_TS声明和数据类型---HarmonyOS4.0+鸿蒙NEXT工作笔记003

可以看到我们新建的这个项目,有个 @State message: String =Hello ArkTS 这个就是定义了一个变量,可以看到 message是变量名,String是变量类型. 然后我们可以看看它的结构可以看到 build() 下面有个Row,然后再下面有个Column方法,然后,里面就是具体的内容了,首先就是显示了一…

高速公路车型识别系统的新篇章:激光雷达解决方案的探索与应用

高速公路车型识别系统&#xff1a;激光雷达解决方案的探索与应用 随着智能交通领域的迅速发展&#xff0c;高速公路车型识别技术成为提高交通管理效率与安全性的关键一环。激光雷达作为一种高精度、高可靠性的传感器技术&#xff0c;在高速公路车型识别中展现出巨大的应用潜力…

华强电子网(www.hqew.com)2023年度电子行业优秀国产品牌企业评选

华强电子网&#xff08;www.hqew.com&#xff09;2023年度电子行业优秀国产品牌企业评选&#xff0c;历经四个月的激烈竞争和严格审核&#xff0c;经过企业提名、专家筛选、公众投票和专家评审四大阶段&#xff0c;近千家电子行业企业成功提名&#xff0c;其中有超过200家国产品…

像经典编程一样简单!MIT科学家开发新型量子计算机模型

量子计算软件市场预计将迎来指数级增长&#xff0c;预测到2030年其复合年增长率&#xff08;CAGR&#xff09;将达到21.9%。这不仅预示着前所未有的计算能力的解放&#xff0c;而且能够帮助各行各业解决极其复杂的问题。 量子计算软件包括一系列工具、算法和编程语言&#xff0…

Training - PyTorch Lightning 的 Horovod 策略实践 (all_gather)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/137686312 在 PyTorch Lightning 中使用 Horovod 策略&#xff0c;可以在多个 GPU 上并行训练模型。Horovod 是分布式训练框架&#xff…

Linux sudo suid提权练习

题目比较简单&#xff0c;可以利用sudo和多种suid程序提权&#xff0c;做个记录 进入靶场题目环境 获得节点信息 远程连接上 执行命令id&#xff0c;发现只是admin普通账户 sudo提权 发现存在 /usr/bin/vim, /usr/bin/bash, /usr/bin/more, /usr/bin/less, /usr/bin/nano, /…

CSS入门:link链接样式和4种状态的详解

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具…

React + 项目(从基础到实战) -- 第九期

实现分页 , LoadMore 上划加载更多功能效果 分页 page : 当前页 pageSize: 页面大小 自定义分页组件 组件传值 import {FC , useEffect, useState } from reactimport { useNavigate , useLocation ,useSearchParams} from react-router-dom;import { Pagination } from &quo…

每日两题3

礼物最大价值 class Solution { public:int jewelleryValue(vector<vector<int>>& frame) {int m frame.size(),n frame[0].size();vector<vector<int>> dp(m1,vector<int>(n1,0));for(int i 1; i < m;i){for(int j 1; j < n;j){d…