C#:按钮颜色设置

本文介绍了一个使用C#实现的颜色选择器功能,通过ColorDialog控件选择颜色,并将所选颜色应用到按钮上,包括设置按钮的背景色、文本显示为十六进制颜色值以及调整按钮的字体颜色为背景色的反色。
    private void button1_Click(object sender, EventArgs e)
    {
        ColorDialog color 
= new ColorDialog();
        
if (color.ShowDialog() == DialogResult.OK)
        {
            Button button 
= (Button)sender;

            
int r, g, b;
            r 
= color.Color.R;
            g 
= color.Color.G;
            b 
= color.Color.B;

            
// RGB 色值
            string rgbString = r.ToString("X2"+ g.ToString("X2"+ b.ToString("X2");

            
//颜色字符串 Alpha + RGB
            string colorString = color.Color.A.ToString("X2"+ rgbString;

            
//按钮显示文本
            button.Text = "#" + rgbString;

            
//按钮背景色
            button.BackColor = color.Color;

            
//按钮字体颜色(ARGB),为按钮背景色的反色
            string foreColorString
            
= "FF" + (255 - r).ToString("X2")
            
+ (255 - g).ToString("X2")
            
+ (255 - b).ToString("X2");

            
//按钮字体颜色
            button.ForeColor =
            System.Drawing.Color.FromArgb(
int.Parse(
            foreColorString, System.Globalization.NumberStyles.HexNumber));
        }
    }

 

转载于:https://www.cnblogs.com/EasyData/archive/2010/04/19/1715621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值