2017-03-14 6 views
0

こんにちは、私は3種類のダークチョコレートのアプリケーションを作成しています。 私は(別のフォームから継承された)ウィンドウフォームと他のクラスを持っています。私のWindowsフォームクラスの場合フォームから別のクラスに出力する

darkchoco darkco = new darkchoco(); 
    string[] darkType = new string[3] { "Dark Chocolate Truffle", "Dark Chocolate Bar", "Dark Chocolate Almond" }; 
    public string returnType; 

darkcoは別のクラスです。 は、Windowsフォームでのボックスのために、私は定義されたマウスダウンのアクションがあります。私のdarkcoクラスの

private void optionBox1_MouseDown(object sender, MouseEventArgs e) 
    { 
     optionBox1.DoDragDrop(optionBox1.Text, 
      DragDropEffects.Copy); 
     returnType = darkType[0]; 
     darkco.darkType = returnType; 

を、私が持っている:

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

darkTypeは表示されませんなぜ私は知りません唯一のことは、「ダークチョコレートのために、あなたが選択した」ということです。私の質問はどこに暗いタイプが表示されないように私のコードが間違っているです。

これを修正することを楽しみにしています、ありがとう!

+0

返された文字列が必要なときに、どのようにデータを「darkchoco」から取得しようとしていますか? 'darkchoco darkco = new darkchoco()'を使用している場合は、クラスの新しいインスタンスを作成していて、 'darkType'変数はnullになります。 'darkchoco'を' public static class darkchoco'にして、 'darkchoco.MethodToReturnString()'を使ってアクセスし、それが動作するかどうかを確認してください。 –

+0

- darkco.darkType = returnType;のoptionBox1_MouseDownメソッドにデバッガを配置してください。あなたが得るものを見てください。 –

答えて

0

あなたの例は完全ではありません。チョコレートタイプを暗黒タイプにどのように移しますか?あなたのdarktype変数がdarktypeクラスの一部であるかどうかはわかりません。私はこのようなことを期待します。これで、建設パラメータとしてチョコレートタイプを使用して、ダーコクラスを構築できます。プロパティにロジックを追加することもできます。

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; 
     } 

    } 
関連する問題