Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,993

HOME > .NET Framework > Forum > ใครเจอปัญหาเหมือนผมบ้าง การปิดฟอร์มโดยใช้ FormClosing และ FormClosed



 

ใครเจอปัญหาเหมือนผมบ้าง การปิดฟอร์มโดยใช้ FormClosing และ FormClosed

 



Topic : 100215



โพสกระทู้ ( 59 )
บทความ ( 0 )



สถานะออฟไลน์




ผมมี 2 ฟอร์ม form Main กับ form Login
โดยให้ 2 ฟอร์มรันพร้อมกัน เช่น form Main อยู่หลัง และ form Login อยู่หน้า โดยที่ต้อง Login ก่อนถึงเข้า Main ได้ อันนี้ปกติดีอยู่

แต่ที่เป็นปัญหาคือ ปุ่มกากบาทบน ผมใช้ FormClosing หรือ FormClosed ตามด้วย Application.Exit();
ปรากกฏว่า Run Program ดู ใส่ user และ pass โปรแกรม เด้งออกเลย

ตอนกดปุ่ม Login ใส่ user และ pass ลองสังเกตที่ this.close() ที่ผมใส่ก็เพราะเวลา login สำเร็จ form login จะได้ปิดลง แล้;เข้า main
ผมลอง Debug แล้ว step กด f11 โปรแกรมพอมาถึงบรรทัดที่ this.Close(); โปรแกรมจะโดดมาที่ FormClosing หรือ FormClosed ซึ่งจะปิดโปรแกรมทันที
Code (C#)
private void btnLogin_Click(object sender, EventArgs e)
        {         
            //check username password
            if (txtUsername.Text != "" && txtPassword.Text != "")
            {
                CheckLoginDB(txtUsername.Text, txtPassword.Text);       //เช็ค user and pass ใน DB         
                if (Canlogin == true)
                {
                    DialogResult = DialogResult.OK;
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("กรุณากรอก Username or Password", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }


form ปิด ปุ่ม กากบาทแดง
Code (C#)
 private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }


อันนี้ Program โดยเรียก main
Code (C#)
[STAThread]
        static void Main()
        {
            
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmMain());
        }




Tag : .NET, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-09 14:24:07 By : Takashi_7 View : 1754 Reply : 6
 

 

No. 1



โพสกระทู้ ( 1,341 )
บทความ ( 1 )



สถานะออฟไลน์


ถ้า frmLogin ปิด ไม่ว่าด้วยเหตุใดๆ จะเกิด frmLogin_FormClosing เสมออยู่แล้วมิใช่เหรอครับ?
เพราะฉะนั้น Application.Exit ไม่ควรอยู่ใน Event นั้น






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-09 15:41:18 By : watcharop
 


 

No. 2



โพสกระทู้ ( 177 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


มันค่อนข้างจะซับซ้อนเลยนะครับเนี่ย

ต้องใช้ความพยายามขั้นสวดยอกเลยกว่าจะเจอ

จาก
this.Close();

แล้วมันจะไปที่
private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)

หลังจากนั้น
Application.Exit();

หลังจากนั้นโปรแกรมมันก็ปิด

คาดว่าคุณใส่ Application.Exit() เพื่อเวลาที่ไม่ได้ Login กดปิดไปเลย ก็ให้ปิดโปรแกรม
แต่ดันใช้ event FromClosing มันก็เลยเจอแบบนี้ ถ้าจะเอาแบบง่ายๆก็คือแบบนี้ละกัน

Code (C#)
private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
                if ( Canlogin != true )  //  CanLogin เป็นผลจาก  CheckLoginDB(txtUsername.Text, txtPassword.Text); ใช่มั้ยครับ
                {
                        Application.Exit();
                }
 }



ประวัติการแก้ไข
2013-09-09 15:58:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-09 15:57:57 By : คนงานตัดอ้อย
 

 

No. 3



โพสกระทู้ ( 59 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : คนงานตัดอ้อย เมื่อวันที่ 2013-09-09 15:57:57
รายละเอียดของการตอบ ::
.....สุดยอดเลย..ได้แล้ว...ครับ
ขอบคุณ คนงานตัดอ้อย ด้วยน่ะครับ...ต้องใช้ความพยายามขั้นสวดยอกเลยกว่าจะเจอ จิงๆด้วย อิอิอิอิอิ...

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-09 16:39:51 By : Takashi_7
 


 

No. 4

Guest


ขอถามหน่อยครับ ผมมี Form อยู่ 2 Form
Form1 มี Datagridview เก็บรายการลายละเอียดใบรับสินค้า Form2 มี Datagridview เก็บ รายละเอียดการค้นหาข้อมูลจากใบสั่งสินค้า (ใน datagrid มี column ที่เป็น checkbox เพื่อให้เลือกไปใส่ทีเดียวพร้อมกันหลายรายการ)
ถ้าต้องการให้ เวลาเลือกข้อมูลจาก Form2 ไปใส่ Form 1 เวลากลับมาเลือกข้อมูลเพิ่ม ไม่ต้องการให้แสดงข้อมูลที่เลือกไปแล้ว ต้องทำยังไงครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-19 16:10:49 By : ทศพล
 


 

No. 5

Guest


ขอถามหน่อยครับ ผมมี Form อยู่ 2 Form
Form1 มี Datagridview เก็บรายการลายละเอียดใบรับสินค้า Form2 มี Datagridview เก็บ รายละเอียดการค้นหาข้อมูลจากใบสั่งสินค้า (ใน datagrid มี column ที่เป็น checkbox เพื่อให้เลือกไปใส่ทีเดียวพร้อมกันหลายรายการ)
ถ้าต้องการให้ เวลาเลือกข้อมูลจาก Form2 ไปใส่ Form 1 เวลากลับมาเลือกข้อมูลเพิ่ม ไม่ต้องการให้แสดงข้อมูลที่เลือกไปแล้ว ต้องทำยังไงครับ
ตัวอย่างงาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-19 16:20:07 By : ทศพล
 


 

No. 6



โพสกระทู้ ( 818 )
บทความ ( 0 )



สถานะออฟไลน์


form2 ใช้ showdialog ขึ้นมาหรือปล่าวครับ
ถ้าใช่
ตอนที่ปิด form2 ลองใช้ dispose ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-09-20 14:04:29 By : fonfire
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ใครเจอปัญหาเหมือนผมบ้าง การปิดฟอร์มโดยใช้ FormClosing และ FormClosed
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่