使用委托回调创建调试窗口

时间:2016-11-02 14:06:25

标签: c# object delegates instance

我尝试使用调试器窗口,告诉我运行时代码中发生了什么。 所以我有一个mainform在运行时在调试控制台中写入。以及在我的调试控制台中写入的第二种形式。

现在我找到了另一种方法,但我想知道它到底做了什么。 来源(我的代码,但他们的想法)::本网站质量保证:我可以将表格改为单身吗?

DebugConsole创建一个静态Instance ::

public partial class DEBUGConsole : Form
{
    public static DEBUGConsole Instance;

    public DEBUGConsole()
    {
        Instance = this;
        InitializeComponent();
    }
    internal void SetValueFunction(string value)
    {  
        ListBoxDEBUG.Items.Add(value);
    }
}

Form1创建要共享的实例::

public partial class MainForm : Form
{
    public DEBUGConsole ConsoleDEB;
    internal SecondForm Formsnd2;

    public MainForm()
    {
        InitializeComponent();
        DEBUGConsole ConsoleDEB = new DEBUGConsole();
        ConsoleDEB.Show();
        DEBUGConsole.Instance.SetValueFunction("Hello 1");
        Formsnd2 = new SecondForm();            
        Formsnd2.Show();
    }
    private void textBoxForm1_TextChanged(object sender, EventArgs e)
    {
        DEBUGConsole.Instance.SetValueFunction("line has changed 1 : " +textBoxForm1.Text);
    }
}

和Form2也使用它::

public partial class SecondForm : Form
{
    public SecondForm(/*DEBUGConsole _ConsoleDEB*/)
    {
        InitializeComponent();
        DEBUGConsole.Instance.SetValueFunction("Hello 2");
    }

      private void textBoxForm2_TextChanged(object sender, EventArgs e)
    {   
          DEBUGConsole.Instance.SetValueFunction("line has changed 2 : " + textBoxForm2.Text);
    }
}

这是对的吗? 这里只有一个DEBUGConsole实例吗? 它应该密封吗? 这是单身人士的方式吗?

由于

0 个答案:

没有答案