线条控件--JcsLineControl

本文介绍了一种在Visual Studio环境中自定义线条控件的方法。该控件可通过设置宽度、长度、角度及颜色等属性实现不同样式线条的绘制,并通过简单的路径记录与区域设置实现了灵活的倾斜角度调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一.引子

  VS中没有了VB中的线条控件,虽然我没有用过VB,不过却看到过这个控件在VB环境下的效果.在一些情况下,或许我们还真的要用到这样的控件,那么索性就自己写了一个.

二.设计时效果

三.运行时效果

四.简单谈谈实现思路

  因为实现的比较简单,所以只是通过设置一个角度的属性来调整整个线条的倾斜角度,同时使用一个路径来记录这个线条的4个端点,最后将控件的Region属性设置为该路径决定的Region.就这么简单.呵呵.

五.部分源代码

 

 private int _lineWidth = 10;//线宽
        private float _angle = 0//角度
        private int _lineLength ;
        
private Color _lineColor = Color.Black;
        
/// <summary>
        
/// 线宽
        
/// </summary>

        [Category("Jcs属性"),Description("线宽")]
        
public int LineWidth
        
{
            
get return _lineWidth; }
            
set
            
{
                _lineWidth 
= value;
                
this.Invalidate();
                RefreshSize();
            }

        }

        [Category(
"Jcs属性"), Description("线长")]
        
public int LineLength
        
{
            
get return _lineLength; }
            
set
            
{
                _lineLength 
= value;
                
this.Invalidate();
                RefreshSize();
            }

        }

        [Category(
"Jcs属性"), Description("角度,注意:以角度计算。")]
        
public float LineAngle
        
{
            
get return _angle; }
            
set
            
{
                
if (value > 360 || value < 0)
                    
throw new Exception("输入的角度范围越界。");
                
this._angle = value;
                
this.Invalidate();
                RefreshSize();
            }

        }

        [Category(
"Jcs属性"), Description("线条颜色。")]
        
public Color LineColor
        
{
            
get return _lineColor; }
            
set
            

                _lineColor 
= value;
                
this.Invalidate();
            }

        }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值