checkBox按钮上的图标

时间:2012-07-12 13:41:28

标签: c# winforms button checkbox

我想在Visual Studio 2010中将标志性符号放在我的按钮上(它是checkBox,但外观像按钮),c#。所以任何人都可以告诉我该怎么做?

3 个答案:

答案 0 :(得分:2)

设置Image属性或类似button.Image = new Bitmap("Click.jpg");

的代码

答案 1 :(得分:2)

选中复选框的Image属性。选择Local resource > Import并导航到您的图标文件。默认情况下,图标文件不会显示,因此您需要选择All Files (*.*)过滤器。

如果您想从代码中设置图标,可以这样做:

checkBox.Image = new Icon(pathToIconFile).ToBitmap();

更新:您无法缩放或拉伸通过Image属性分配的图像。在这种情况下,您需要使用BackgrounImage属性:

checkBox.BackgroundImage = new Icon(pathToIconFile).ToBitmap();
checkBox.BackgroundImageLayout = ImageLayout.Stretch;

此外,您可以通过编程方式调整图像大小,或者使用OnPaint方法手动绘制图像,但需要付出更多努力。

更新:调整图片大小

public static Bitmap ResizeImage(Image image, Size size)
{            
    Bitmap result = new Bitmap(size.Width, size.Height);

    using (Graphics graphics = Graphics.FromImage(result))
    {                
        graphics.CompositingQuality = CompositingQuality.HighQuality;
        graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
        graphics.SmoothingMode = SmoothingMode.HighQuality;
        graphics.DrawImage(image, 0, 0, result.Width, result.Height);
    }

    return result;
}

用法:

const int padding = 6;
Size size = new Size(checkBox.Width - padding, checkBox.Height - padding);
checkBox.Image = ResizeImage(new Icon(pathToIconFile).ToBitmap(), size);

答案 2 :(得分:1)