非矩形窗体


代码如下

 public partial class frmLognIn : Form
    {
        Bitmap bit;
        public frmLognIn()
        {
            InitializeComponent();
            bit = new Bitmap(pictureBox1.Image); 
            bit.MakeTransparent(Color.Blue);            
        }


        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.DrawImage((Image)bit, new Point(0, 0));
        }


    }

注意点: frm的TransparencyKey属性需要设置为Control





.

参考资源链接:[C#实战:220个WinForm界面特效案例解析](https://wenku.csdn.net/doc/5rhcgwzmhx?utm_source=wenku_answer2doc_content) 设计一个具有动态菜单和矩形窗体的WinForm界面,需要综合运用WinForm的绘图技术和菜单控制技术。推荐学习者参阅《C#实战:220个WinForm界面特效案例解析》一书,以获得更多的实例和深入理解。 首先,关于动态菜单的实现,可以利用`ContextMenuStrip`控件来创建上下文菜单,并通过编程方式动态添加或修改菜单项。使用`ContextMenuStrip`的`Items`集合,可以在运行时动态地添加、删除或修改菜单项。还可以为菜单项添加事件处理程序,以便在用户交互时执行相应的操作。 其次,矩形窗体的设计,可以通过重写窗体的`OnPaint`方法来自定义窗体的绘制逻辑。在`OnPaint`方法中,可以使用`Graphics`对象来绘制不规则形状的窗体,并通过`SetStyle`方法配合`FormBorderStyle.None`属性来去除窗体的默认边框。此外,还可以利用`Region`类来设置窗体标准形状,使窗体呈现为自定义的多边形或其他复杂形状。 以下是一个简单的示例代码,展示如何实现动态菜单和矩形窗体: ```csharp public partial class MyForm : Form { public MyForm() { InitializeComponent(); InitializeDynamicMenu(); } private void InitializeDynamicMenu() { ContextMenuStrip cms = new ContextMenuStrip(); ToolStripMenuItem tsmi1 = new ToolStripMenuItem( 参考资源链接:[C#实战:220个WinForm界面特效案例解析](https://wenku.csdn.net/doc/5rhcgwzmhx?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值