0

2 つのフォームがあります。1 つは、テキスト ファイルから読み込まれたデータを含むリスト ボックスを持つメイン フォームです。もう一つは配送形態です。ユーザーがリスト ボックス内の項目を選択して編集ボタンをクリックすると、配信フォームが表示され、選択したデータが配信フォームのテキスト ボックスに表示されます。現時点では、次のようなものがあります。

private Visit theVisit = new Visit();
private List<Delivery> deliveries = new List<Delivery>();
private FrmDelivery deliveryForm = new FrmDelivery();

private void updateDelivery()
{
    lstDeliveries.Items.Clear();            
    List<String> listOfD = theVisit.listDeliveries();
    lstDeliveries.Items.AddRange(listOfD.ToArray());            
}

private void btnEditDelivery_Click(object sender, EventArgs e)
{
    deliveryForm.ShowDialog();
    updateDelivery();
}
4

2 に答える 2

1

Form は他のクラスと同様に、プロパティを追加したり、アクセサーをセットアップしたりできます。

変更時にテキストボックスを埋める配信フォームのプロパティを使用します。

あとは、メイン フォームからこの値を設定し、配信フォームを表示するだけです。

配送形態:

class FrmDelivery: Form
{
    TextBox text1; // Initialize this as usual
    public string DisplayText
    {
       get { return text1.Text; }
       set { text1.Text = Value; }
    }
} 

メインフォーム:

private void btnEditDelivery_Click(object sender, EventArgs e)
{
    FrmDelivery frm = new FrmDelivery();
    frm.DisplayText = "Whatever Value you want";
    frm.ShowDialog();
}

text1 を public として宣言することもできますが、必要以上の制御を与えるのは好きではありません。常に最も制限的な方法を選択してください。

于 2012-11-27T22:06:38.650 に答える
0

これを行うにはいくつかの方法があります.1つは、静的フィールドを使用して、リストボックスの選択されたアイテムの値を配信フォームに渡すことができます

このような :

form1 (リストボックスの selectedindexchanged イベント内):

public static string listboxselecteditem=listbox1.selecteditem;//here you add selected item of listbox

次に、配信フォームで次のことを行います。

textbox1.Text=form1.listboxselecteditem;//add value of selected item in listbox to textbox in Delivery form
于 2012-11-27T21:52:41.193 に答える