Grapics在pictrurebox控件中画十字原理

        public void huashizhi()
        {
           int j;
           const int t = 3;
           Graphics hx = pictureBox1.CreateGraphics();
            hx.DrawLine(new Pen(Color.Red, 1), 0, pictureBox1.Height/2, pictureBox1.Width, pictureBox1.Height/2);
            
                for (int i = 1; i < pictureBox1.Width/5; i++)
                {
                    if ((i % 10) == 0)
                    { j = t;}                 
                    else
                    { j = 0; }                  
                    hx.DrawLine(new Pen(Color.Red, 1+(j/t)), 5 * i, (pictureBox1.Height / 2) -5-j, 5 * i, (pictureBox1.Height / 2) );
                }
            hx.DrawLine(new Pen(Color.Red, 1), pictureBox1.Width / 2, 0, pictureBox1.Width/2, pictureBox1.Height);
                for (int i = 1; i < pictureBox1.Width / 5; i++)
                {
                    if ((i % 10) == 0)
                    { j = t; }
                    else
                    { j = 0; }
                    hx.DrawLine(new Pen(Color.Red, 1+(j/t)), (pictureBox1.Width / 2) - 5 - j, i * 5, (pictureBox1.Width / 2), i * 5);
                }
            hx.Dispose();
       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#自定义控件画十字通常涉及到使用GDI+绘图功能。以下是一个简单的自定义控件示例,用于在Windows窗体应用程序绘制一个十字。请按照以下步骤进行操作: 1. 创建一个新的Windows窗体控件库项目。 2. 在项目添加一个新的自定义控件类,比如命名为`CustomCrossControl`。 3. 在该自定义控件重写`OnPaint`方法来进行绘图。 示例代码如下: ```csharp using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; public class CustomCrossControl : Control { protected override void OnPaint(PaintEventArgs e) { // 获取Graphics对象用于绘图 Graphics g = e.Graphics; // 设置抗锯齿模式 g.SmoothingMode = SmoothingMode.AntiAlias; // 计算十字心位置 int crossSize = 10; // 十字的大小,可以根据需要调整 int halfSize = crossSize / 2; int x = (this.Width / 2) - halfSize; int y = (this.Height / 2) - halfSize; // 绘制十字 using (Pen pen = new Pen(Color.Black, 2)) // 设置画笔颜色和宽度 { // 绘制垂直线 g.DrawLine(pen, x, y, x, y + crossSize); // 绘制水平线 g.DrawLine(pen, x, y + halfSize, x + crossSize, y + halfSize); } } } ``` 4. 在窗体上添加这个自定义控件的实例,你可以通过拖放或代码的方式将其加入到窗体。 要通过代码添加,可以这样操作: ```csharp CustomCrossControl crossControl = new CustomCrossControl(); this.Controls.Add(crossControl); ``` 通过上述步骤,你就可以在自定义控件绘制一个简单的十字了。当然,你可以通过修改`OnPaint`方法的绘图逻辑来改变十字的样式,比如颜色、大小等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值