0

私は多くのコードを継承しており、次の点で問題があります: 「マスター フォーム」の特定の場所にあるフォームを取得して、マスター フォームが移動したときに移動します。

現在、フォーム内にある各フォームを格納するリストと、masterForm.ResizeEnd のイベント ハンドラーがあります。イベント ハンドラー内で、リストを繰り返し処理し、.location プロパティを masterForm.location+constant に設定しようとしました。しかし、それはうまくいきません。私はあらゆる種類のことを試しましたが、どれもうまくいきませんでした。

コード:

public List<Form> openForms=new List<Form>(1);

private void addForm(Form argument)
{
    openForms.Add(argument);
}

private void masterForm_ResizeEnd(object sender, System.EventArgs e)
{
    for(int i=0; i<openForms.Count; i++) 
        openForms[i].Location = new system.drawing.point(this.location.x+constant, this.location.y+constant);
}
4

1 に答える 1

0

それはうまくいくはずです。あなたのコードに明らかな問題はありません。で場所を設定してみてください

openForms[i].Invoke((MethodInvoker)delegate{openForms[I].Location = new system.drawing.point(this.location.x+constant, this.location.y+constant);});
于 2013-05-31T06:07:47.783 に答える