如何修改C#winform程序图标

如何修改C#winform程序图标,第1张

1)编辑窗体Form1的Icon属性,点击 … 打开对话框

2)准备一个图标文件(ico)文件

3)这样就完成了图标设置,效果如下

详细见:>

/

主要是对 PictureBox 的 *** 作

截取屏幕图像

获取屏幕指定像素颜色

旋转和翻转

虚拟选择框绘制

控件绘图

为了方便,所有步骤在一个方法中完成

创建了一个新的 Form 对象

在该 Form 中添加了一个 PictureBox 对象

/

// 在 Form_Load 中调用

private void CSDNSample_PictureBoxHandle()

{

// 复制屏幕,创建原始

Bitmap image = new Bitmap(

ScreenPrimaryScreenBoundsWidth,

ScreenPrimaryScreenBoundsHeight);

using (Graphics g = GraphicsFromImage(image))

{

gCopyFromScreen(

0, 0, 0, 0,

imageSize,

CopyPixelOperationSourceCopy);

gSave();

}

// 创建 PictureBox 对象

PictureBox box = new PictureBox();

boxLocation = new Point(0, 0);

boxSizeMode = PictureBoxSizeModeStretchImage;

boxSize = imageSize;

boxImage = image;

// 创建 Form 对象

Form f = new Form();

fAutoScroll = true; // 自动滚动

fSize = new Size(800, 600);

// From_FormClosed 用于释放资源

fFormClosed += (sender, e) => { imageDispose(); };

// From_MouseWheel 用于缩放

// 由于滚动条和缩放同时进行 会有点不爽

// 建议右键菜单或 Control/Shift/Alt + 鼠标滚轮组合实现

fMouseWheel += (sender, e) =>

{

if (eDelta > 0)

{

// 限制放大效果 600% 以内

if (boxWidth / imageWidth < 6)

{

boxSize = new Size(

(int)(boxWidth 11),

(int)(boxHeight 11));

}

}

else

{

// 限制缩小效果 15% 以内

if ((float)boxWidth / (float)imageWidth > 015f)

{

boxSize = new Size(

(int)(boxWidth 09),

(int)(boxHeight 09));

}

}

};

// 用于记录鼠标按下时的位置

Point pt = PointEmpty;

// PictureBox_MouseDown 用于记录鼠标位置 绘制屏幕十字标记

boxMouseDown += (sender, e) =>

{

if (eButton == MouseButtonsLeft)

{

pt = eLocation;

// CursorPosition 获取全局鼠标位置(屏幕位置)

// CopyFromScreen 拷贝 1 个屏幕像素并生成

// BitmapGetPixel 获取上指定像素的颜色

using (Bitmap bitmap = new Bitmap(1, 1))

{

using (Graphics g = GraphicsFromImage(bitmap))

{

gCopyFromScreen(

CursorPositionX, CursorPositionY, 0, 0,

bitmapSize, CopyPixelOperationSourceCopy);

gSave();

}

// 设置窗口文本

// 显示鼠标当前位置和鼠标位置的像素颜色

Color color = bitmapGetPixel(0, 0);

fText = stringFormat("Pos: {0}, Color: {1}",

eLocation, color);

}

using (Graphics g = GraphicsFromHwnd(boxHandle))

{

using (Pen p = new Pen(ColorIndianRed, 3))

{

gDrawLine( // 画十字图形的 X 轴

p, new Point(eX - 10, eY), new Point(eX + 10, eY));

gDrawLine( // 画十字图形的 Y 轴

p, new Point(eX, eY - 10), new Point(eX, eY + 10));

}

}

}

};

// PictureBox_MouseUp 用于清除鼠标位置信息和屏幕十字标记

boxMouseUp += (sender, e) =>

{

if (eButton == MouseButtonsLeft)

{

pt = PointEmpty;

boxRefresh();

}

};

// PictureBox_MouseMove 用于绘制选择框

boxMouseMove += (sender, e) =>

{

// 设置窗口文本 显示鼠标当前位置

fText = stringFormat("Pos: {0}", eLocation);

if (eButton == MouseButtonsLeft && pt != PointEmpty)

{

using (Graphics g = GraphicsFromHwnd(boxHandle))

{

using (Pen p = new Pen(ColorIndianRed, 1))

{

// pt1 用于判断鼠标是否离开了 PictureBox

// 如果离开则重设 pt1

// 如此可保证被绘制的矩形一定出现在 PictureBox 中

Point pt1 = eLocation;

if (pt1X < 0) pt1X = 0;

if (pt1Y < 0) pt1Y = 0;

if (pt1X > boxWidth - 1) pt1X = boxWidth - 1;

if (pt1Y > boxHeight - 1) pt1Y = boxHeight - 1;

boxRefresh(); // 不刷新的话 会出现N个矩形

pDashStyle = SystemDrawingDrawing2DDashStyleDash;

gDrawPolygon(p, new Point[] {

pt,

new Point (pt1X, ptY),

pt1,

new Point(ptX, pt1Y) });

}

}

}

};

// 记录当前翻转样式

int rotate = 0;

// PictureBox_MouseDoubleClick 用于翻转

boxMouseDoubleClick += (sender, e) =>

{

if (eButton == MouseButtonsLeft)

{

// 由于是对 PictureBox 进行的 *** 作

// 只是进行了翻转,但大小未变

// 所以需要通过的某个边判断

// 是否因翻转而导致 Width / Height 互换

int imgWidth = boxImageWidth;

boxImageRotateFlip((RotateFlipType)rotate);

if (++rotate > 7) rotate = 0;

if (imgWidth == boxImageWidth) return;

boxSize = new Size(boxHeight, boxWidth);

}

};

fControlsAdd(box);

fShow();

}

用的listview,然后要进行二次封装,修改绘图样式等,listview的列表分组模式,你要想自己做一模一样的,非常费劲,因为样式修改的部分贼多。下图是我的listview简单修改显示样式后的样子,你要改成工具箱那样,还需要更多的修改,顶部的右上角的3个按钮,那是一个容器,panel或者一个无边框的窗口,右上角做了3个按钮来实现的。你看我图里的listview只要关闭标题栏, *** 作上就跟工具箱差不多了

您好,我来为您解答:

最简单的就是找个皮肤控件 比如 IrisSkin。

先要时髦,先要找到时髦的美工。这样的美工通常都不懂开发,但是她应该可以做出时髦的浅层的创意来。

如果我的回答没能帮助您,请继续追问。

以上就是关于如何修改C#winform程序图标全部的内容,包括:如何修改C#winform程序图标、关于 C#编写的WINFORM程序、C# winform PictureBox Handle等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9653244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存