用户自定义控件,用来监控报警。一开始控件用paint函数画了一个空心圆,并且在自定义控件类中申明了一个bool变量nor,当它被触发为1时,控件需要实时重绘为实心圆,不知如何实现,请大大门指教

解决方案 »

  1.   

    this.Invaliddate()
      

  2.   

    向 nor 赋值时执行 Invaliddate()
    OnPaint 方法中
    if(nor) e.Graphics.FillEllipse(...
    else e.Graphics.DrawEllipse(...
      

  3.   

    nor 那是属性(property)而不是字段(field)。要触发事件,先学习 INotifyPropertyChanged 之类的设计模式。
      

  4.   

    关于“绘制”的 UI 界面,要注意的是,要让控件本身是透明的,然后在控件层展现不透明的图形(实心圆、空心圆)。所以你首先选择好能原生(基本不写代码)轻松地实现透明控件的开发方法。不建议使用 WinForm。