討論區快速選單
知識庫快速選單
最新Microsoft免費研討會行事曆 .NET程式開發風險與威脅 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
form1 close form2 show
更改我的閱讀文章字型大小
作者 : roger5089(roger) 人氣指數超過30000點
[ 貼文 189 | 人氣 32947 | 評價 70 | 評價/貼文 0.37 | 送出評價 12 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/5/18 上午 11:18:23
請問一下要是我有兩個 form 1 , 2 當我在 form1 有一個按鈕按下時去 new form2 show 然後

要 close form1 請問要怎樣用

c# 有 hidden 的 method?
form1 有一個按鈕

namespace Forms
{
    public partial class Form1 : Form
    {
     public Form1()
     {
     InitializeComponent();
     }

     private void button1_Click(object sender, EventArgs e)
     {
     Form2 a = new Form2();
     a.Show();
     Form1 b = new Form1();
     b.Hide(); // 但是 form1 還是沒辦法 hide
    
     }
    }
}
作者 : mr_seven(Seven)
[ 貼文 11 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/5/18 下午 01:47:19
以下是兩個form,btn自行拉一下,form1的btn_click呼叫form2,form1.visible = false;
form2的btn_click,作用為關閉本身與form1。
參考一下吧
form1:
-------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace form1closeform2show
{
    public partial class Form1 : Form
    {
     public Form1()
     {
     InitializeComponent();
     }
    
     private void button1_Click(object sender, EventArgs e)
     {
     //將此表單設給f1
     Form1 f1 = this;
     Form2 f2 = new Form2();
     //將f1設為隱藏
     f1.Visible = false;
     將f2 show出來
     f2.Show();
     //將f1的控制權傳給f2
     f2.f1 = f1;
    
     }
    }
}
Form2:
-------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace form1closeform2show
{
    public partial class Form2 : Form
    {
     //宣告form2的property,使其能控制form1,記得使用public
     public Form1 f1;
    
     public Form2()
     {
     InitializeComponent();
     }

     private void button1_Click(object sender, EventArgs e)
     {
     this.Close();
     f1.Close();
     }
    }
}
作者 : kenton_lin(Kenton)
[ 貼文 188 | 人氣 5735 | 評價 470 | 評價/貼文 2.5 | 送出評價 3 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/5/19 上午 09:04:52
Form1 b = new Form1(); //意思是開了一個新表單Form1, 名字叫b
b.Hide(); // 是把新的表單b Hide
若要Hide主表單, 使用This.Hide()
作者 : chengbowin(克勤)
[ 貼文 4 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/7/25 下午 11:15:02
不妨在專案中加入一個類別.
class Class1
{
public static Form1 f1;
public static Form2 f2;
}
把主程式的main 中那一行.Application.Run(new Form1());
改成 Application.Run(Class1.f1=new Form1());
然後在 Form1_load 函式中加入 Class1.f2=new Form2();
如此程式中.f1,f2 兩個表單可任意.呼叫.甚至呼叫對方的成員.
但要注意.textBox button label .....成員都是 private
例如在 Form1 的button1_click 事件中 若有 Class1.f2.label1.text="C#"
那是行不通的.可以把 Form2 的 label1 改成 public 上式才叫得通
另外一個方法就是 在Form2 中加作一個成員函式 public label reLabel() { return label1;}
 如此.在 Form1 的 的button1_click 事件中用 CLass1.f2.reLabel().text="C#".就沒問題.
Form2 也可任意呼叫 Form1 ....


作者 : kidieslee(小熊)
[ 貼文 26 | 人氣 0 | 評價 30 | 評價/貼文 1.15 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/8/11 上午 12:06:13
其實據我所知C#建立出的form都預設visable為true
就算預設為false,
當你 form form2 = new form();
然後form2.show();後還是會出現
有個小偏不的方法可以參考
可以在form2內event事件中有一個
private void form2_Shown(object sender, EventArgs e)
{
     //加入
     this.hide();
}

當你第一次呼叫form2時,他預設還是會變顯示,可以event卻可以在你第一次執行時依照剛剛只是來隱藏
不過這個動作還是有點缺點
如果跑的時候系統太busy時,則會看到殘影,其實可以大可以預先用Opacity = 0來掩飾
等你要顯示時,再把他設為100應該可以掩飾很多
 板主 : 小朱
 > C# - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C# - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C#
1 小朱 6270 
2 蹂躪 2700 
3 HKLN.net 2440 
4 marlon 2130 
5 joe 1290 
6 識丁 910 
7 好說 860 
8 愛睏魚 770 
9 總幹事 720 
10 Demonbane 600 
C#
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625