自定义控件OnPaint不会触发

缺口

我有以下习惯Control

public class Line : Control
{
    protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaint(e);

        using (var p = new Pen(Color.Black, 3))
        {
            var point1 = new Point(234, 118);
            var point2 = new Point(293, 228);
            e.Graphics.DrawLine(p, point1, point2);
        }
    }
}

然后在Form其中添加新的Line实例作为新控件

Controls.Add(new Line());

问题在于没有调用方法OnPaint并且没有绘制线。为什么?我该如何解决?

马克·霍尔

您没有给它一个大小,尝试在其中创建构造函数并设置默认大小,您似乎也正在使用父控件的坐标,我会使用Usercontrol的位置来设置您的开始位置,而只关心Width和包含行所需的控件的高度。

public  Line()
{
     Size = new Size(500, 500);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有自定义OnPaint的F#中的自定义Windows.Forms控件?

来自分类Dev

触发的datatrigger不会更改自定义控件的属性(ControlTemplate)

来自分类Dev

自定义绑定不会触发更新

来自分类Dev

自定义绑定不会触发?

来自分类Dev

不会触发AngularJS的自定义验证

来自分类Dev

自定义控件绑定设置器不触发

来自分类Dev

WPF KeyBinding 命令未在自定义控件中触发

来自分类Dev

自定义控件绑定不会更新模型

来自分类Dev

自定义条纹按钮不会触发POST方法

来自分类Dev

BroadcastReceiver不会使用自定义进程名称触发

来自分类Dev

自定义listitem点击不会触发listview.onclicklistener

来自分类Dev

自定义验证不会触发回滚

来自分类Dev

角度自定义指令不会触发ng-click

来自分类Dev

RowDeselect不会在自定义MvxTableViewSource中触发

来自分类Dev

具有自定义ArrayAdapter setOnItemClickListener的ListView不会触发

来自分类Dev

自定义条纹按钮不会触发POST方法

来自分类Dev

自定义按钮 touchUpInside 事件不会触发

来自分类Dev

如何从继承自另一个自定义控件的自定义控件中触发方法?

来自分类Dev

自定义控件事件未在用户控件内触发

来自分类Dev

DataGridTemplateColumn的自定义控件

来自分类Dev

自定义gui控件

来自分类Dev

指令自定义控件

来自分类Dev

自定义控件Android

来自分类Dev

自定义事件触发

来自分类Dev

如何在回发时捕获并触发用户控件的自定义事件

来自分类Dev

为什么自定义用户控件上的标签会导致mouseleave事件触发?

来自分类Dev

ASP.NET自定义控件适配器未触发

来自分类Dev

WPF-配置自定义事件以触发用户控件上的开始故事板

来自分类Dev

如何在回发时捕获并触发用户控件的自定义事件

Related 相关文章

热门标签

归档