如何在C#中将指针变量存储到Form1?

时间:2017-03-04 20:18:37

标签: c# forms

我正在尝试在Painter类中保存指向Form1的指针。我的尝试在这里:

<ol class="breadcrumb"> 
   <li>
      <a href="#">anylink</a>
   </li>
   <li>
      <span>\1</span> <!-- or $1, the one sublime text uses -->
   </li>
</ol>

但它不起作用(它附近说NullPointerException)。这段代码出了什么问题?我真的需要在我的Painter类中指向Form1。我怎么能得到它?

1 个答案:

答案 0 :(得分:1)

您需要首先使用painter = new Painter()创建一个画家。

但是我会在Painter类中添加一个构造函数,接受一个表单作为参数

public class Painter
{
    private readonly Form _form;

    public Painter(Form form)
    {
        _form = form;
    }
}

然后在Form1构造函数中创建画家,如下所示:

public Form1()
{
    InitializeComponent();
    painter = new Painter(this);
}

这可确保在画家中分配表单。没有setFormPtr方法可以忘记致电。