c#从一个窗体到另一个类的输出

c#从一个窗体到另一个类的输出,c#,forms,inheritance,C#,Forms,Inheritance,您好,我正在创建三种黑巧克力的应用程序。 我有一个windows窗体(从另一个窗体继承)和另一个类 对于我的windows窗体类: darkchoco darkco = new darkchoco(); string[] darkType = new string[3] { "Dark Chocolate Truffle", "Dark Chocolate Bar", "Dark Chocolate Almond" }; public string returnType;

您好,我正在创建三种黑巧克力的应用程序。 我有一个windows窗体(从另一个窗体继承)和另一个类

对于我的windows窗体类:

    darkchoco darkco = new darkchoco();
    string[] darkType = new string[3] { "Dark Chocolate Truffle", "Dark Chocolate Bar", "Dark Chocolate Almond" };
    public string returnType;
darkco是另一个类。 对于windows窗体中的框,我定义了一个mousedown操作:

    private void optionBox1_MouseDown(object sender, MouseEventArgs e)
    {
        optionBox1.DoDragDrop(optionBox1.Text,
            DragDropEffects.Copy);
        returnType = darkType[0];
        darkco.darkType = returnType;
对于我的darkco课程,我有:

         public string darkType;
         public override string ToString()
    {
        return "For dark chocolate, you have selected: " + darkType;
    }
我不知道为什么黑巧克力没有出现,唯一能让我们看到的是“对于黑巧克力,你选择了:”然后什么都没有。我的问题是我的代码哪里错了,导致darkType没有出现


期待修复,谢谢

您的示例不完整。如何将巧克力类型转移到您的darktype类?我不确定您的darktype变量是否属于darktype类。我期待着这样的事情。现在,您可以使用chocolate类型作为构造参数来构造darco类。您还可以向属性添加逻辑

    public class darco
    {
    public string darktype { set; get; } = String.Empty;

    public darco( string mydarktype)
        {
        darktype = mydarktype;
        }

    public override string ToString()
        {
        return "For dark chocolate, you have selected: " + darkType;
        }

    }

当您需要返回的字符串时,您如何尝试从
darkchoco
检索数据?如果您使用的是
darkchoco darkco=new darkchoco()
,则您正在创建该类的新实例,并且
darkType
变量将为null。尝试将
darkchoco
设置为一个
公共静态类darkchoco
,并通过
darkchoco.MethodToReturnString()
访问它,看看它是否有效。尝试将调试器放在选项框1\u MouseDown方法-darkco.darkType=returnType;中;。看看你得到了什么。