----=寫在B窗體中
10年積累的網(wǎng)站設(shè)計、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有湖口免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。 public Form fff; //在B窗體中聲明一個構(gòu)造函數(shù) 讓A窗體在調(diào)用B窗體的時候給賦值
public Form2(Form fff)
{
InitializeComponent();
this.f = fff;
}
private void Form2_Load(object sender, EventArgs e) //設(shè)置B窗體的高登錄傳進來的高、B窗體的左邊距等于A窗體的右邊距
{
this.Top = f.Top;
this.Left = f.Right;
}
-------寫在A窗體中
Form2 ff = null; //定義一個B窗體類型的變量
bool trued =false; //定義一個bool類型的變量 用來做標(biāo)識符
private void Form1_LocationChanged(object sender, EventArgs e)
{
if (trued) //如果單擊button1打開B窗體的時候才賦值
{
ff.Top = this.Top;
ff.Left = this.Right;
}
}
private void button1_Click(object sender, EventArgs e) //button1的單擊事件
{
trued =true; //當(dāng)單擊button1的時候把標(biāo)識附改為true
ff = new Form2(this); //重新創(chuàng)建一個窗體 同時把A的當(dāng)前位置賦值給B
ff.Show(); //顯示B窗體
}
當(dāng)然這樣會出現(xiàn)多次單擊button1的時候B窗體會new多個B窗體,為了防止這種情況發(fā)生,可以通過當(dāng)用戶單擊了button1后,自動把button1的visible屬性設(shè)置為false;或者Enabled設(shè)置為false,當(dāng)用戶把B窗口關(guān)掉時,再顯示為true, 也可以通過自己的需要去解決。