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

Registered : 109,038

HOME > .NET Framework > Forum > สอบถามการสร้างฟอร์มปุ่ม แล้วผูกอีเว้นแยกครับ (มือใหม่)


 

[.NET] สอบถามการสร้างฟอร์มปุ่ม แล้วผูกอีเว้นแยกครับ (มือใหม่)

 
Topic : 125814



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



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



ตอนนี้ผมสร้างหน้าฟอร์มปุ่ม ไว้หน้าหนึ่ง ผมสามารถดึงปุ่มไปแสดงได้แล้วนะครับ
แต่จะผูกอีเว้น ให้ทำงานคนละอย่าง เป็นหน้าใครหน้ามัน ได้ไหมครับ
กำลังฝึกทำ ติดอยู่ตรงนี้นานมาก T^T



Tag : .NET, Ms SQL Server 2008, Win (Windows App), C#, Windows

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-12-21 14:31:20 By : reason01 View : 1125 Reply : 16
 

 

No. 1

Guest


ขอโทษนะ งง ตั้งแต่คำถามแล้วครับ คือไม่เข้าใจความต้องการครับ
คือกดปุ๋มที่ฟอร์ม 1 แต่ ฟอร์ม 2 ทำงานหรืออย่างไงครับ ขอละเอียดนิดหนึ่งครับ
รูปมาก็ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-21 15:29:46 By : บัญดิษฐ
 

 

No. 2



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



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


ครับ คือผมสร้าง มาสเตอร์ฟอร์มของปุ่มไว้ เพื่อที่จะดึงไปใช้ในหน้า อื่นๆครับ
อย่างปุ่ม Insert งี้ครับ สร้างไว้ในมาสเตอร์ แล้วดึงไปใช้ ใน 2 หน้าที่ว่า
แต่ว่าคิวรี่ ของ 2 หน้านั้นมันไม่เหมือนกันอ่ะครับ


ประวัติการแก้ไข
2016-12-22 14:13:45
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-22 14:13:06 By : reason01
 

 

No. 3



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



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


MasterFrom
MasterForm

หน้าที่ดึงไปแสดง
Employee

มันคลิกใส่อีเว้น ไม่ได้อะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-22 14:17:19 By : reason01
 

 

No. 4

Guest


ไม่ได้เพราะมันไม่ได้เป็น Public หรือเปล่าครับ ตรง MasterFrom
ปุ๋มต่างๆ ตรง Modifiers ต้องกำหนดให้เป็น Public ครับ
frmbase
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-22 15:30:35 By : บัญดิษฐ
 

 

No. 5



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



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


asdsa

มันก็เป็น Public หมดทุกปุ่ม แล้วนะครับ แต่ก็แก้ในหน้าลูกๆมันไม่ได้เลย ขึ้นเป็นล็อกไว้แบบนั้น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-22 15:46:32 By : reason01
 

 

No. 6

Guest


OK เข้าใจแล้วมันไม่ใช่ Button มันเป็น Menu เอาอย่างนี้นะครับลองเข้าไปอ่านที่
http://www.akadia.com/services/dotnet_inherited_forms.html

หรือไม่ก็ทำแบบนี้เอาครับ ที่ MasterFrom
ให้ดับเบิ้ลคลิกเมนูไหนก็ได้เพื่อให้เกิด Even Click (ต้องทำทุกตัวแต่ตอนนี้เอาตัวเดียวก่อน)
มันจะได้ประมาณนี้
Code (C#)
01.using System;
02.using System.Collections.Generic;
03.using System.ComponentModel;
04.using System.Data;
05.using System.Drawing;
06.using System.Linq;
07.using System.Text;
08.using System.Threading.Tasks;
09.using System.Windows.Forms;
10. 
11.namespace SampleBaseForm
12.{
13.    public partial class frmBase : Form
14.    {
15.        public frmBase()
16.        {
17.            InitializeComponent();
18.        }
19. 
20.        private void tsmSave_Click(object sender, EventArgs e)
21.        {
22.            Save();
23.        }
24.        protected virtual void Save()
25.        {
26.             
27.        }
28. 
29.    }
30.}

พอมา Form ที่ inherit มานั้นไม่ต้องทำอะไรกับปุ๋ม
มาเล่นที่ Events override เอาครับ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SampleBaseForm
{
public partial class Form1 : frmBase
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

}
protected override void Save()
{
base.Save();
MessageBox.Show("Form1เด้อเจ่า");

}
}
}

ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-22 16:43:55 By : บัญดิษฐ
 

 

No. 7



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



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


ขอบคุณครับ เดียวผมลองก่อน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-22 21:02:34 By : reason01
 

 

No. 8



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



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


ขอรบกวนอีกหน่อยนะครับ ผมอยากใส่อีเว้น ในหน้า MasterForm เลยได้ไหมครับ
ผมอยากให้ เวลากด New แล้ว Clear ใน Control ทุกตัว จะสร้าง แล้วเรียกใช้ยังไงหรอครับ
เพราะผมคิดว่า New มันน่าจะเหมือนกันหมดทุกหน้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-23 15:27:06 By : reason01
 

 

No. 9



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

Code (C#)
01.public partial class Form1 : Form
02.   {
03.       public Form1()
04.       {
05.           InitializeComponent();
06.       }
07. 
08.       private void button1_Click(object sender, EventArgs e)
09.       {
10.           MessageBox.Show("Test Form1");
11.       }
12.   }


Code (C#)
01.public partial class Form2 : Form1
02.    {
03.        public Form2()
04.        {
05.            InitializeComponent();
06.        }
07. 
08.        private void button1_Click(object sender, EventArgs e)
09.        {
10.            MessageBox.Show("Test Form2");
11.        }
12.    }


Code (C#)
01.public partial class Form3 : Form1
02.    {
03.        public Form3()
04.        {
05.            InitializeComponent();
06.        }
07. 
08.        private void button1_Click(object sender, EventArgs e)
09.        {
10.            MessageBox.Show("Test Form3");
11.        }
12.    }


จากตัวอย่างท่ายจะหมายความว่า button1_Click ใน Form1
ก็ให้แสดง

MessageBox.Show("Test Form2") หรือ MessageBox.Show("Test Form3");
ตามแต่จะเป็น ฟอร์มลูกไหนยังงั้นเรอะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-23 15:59:59 By : lamaka.tor
 

 

No. 10



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-12-23 15:59:59
รายละเอียดของการตอบ ::
ถ้าเป็นแบบนั้น

วิธีบ้านๆที่ผมนึกออกก็คงเป็นการประกาศตัวแปร form แบบ static แล้วก็เอามาเรียกใช้งานได้ตามใจชอบไปเลยครับ

นี่เป็นตัวอย่างครับ
https://www.codeproject.com/Articles/17890/Do-Anything-With-ID



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-23 16:19:18 By : lamaka.tor
 

 

No. 11

Guest


ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-12-23 15:59:59
รายละเอียดของการตอบ ::
อืมอันนี้แล้วแต่การใช้งานนะครับ และแนวคิดของแต่ละคน ถ้าต้องการให้เข้าใจต้องลองเขียนลองรันดูครับ
มันเรื่องของ OOP เท่านั้นครับ (ไม่เก่งด้วยสิ 555)


ตอบคำถามเจ้าของกระทู้นะครับ
Code (C#)
01.private void tsmClear_Click(object sender, EventArgs e)
02.        {
03.            Clear();
04.        }
05.        protected virtual void Clear()
06.        {
07.            foreach (var x in this.Controls)
08.            {
09.                if (x is TextBox)
10.                {
11.                    ((TextBox)x).Text = String.Empty;//ล้างเฉพาะ TextBox อันอื่นก็คล้ายกัน ต่างกันที่ Type เด้อ (is อะไรอ่ะ)
12.                }
13.            }
14.        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-23 17:36:49 By : บัญดิษฐ
 

 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2016-12-23 17:36:49

รายละเอียดของการตอบ ::
ลองแล้วครับ มันไม่ได้อ่ะครับ ที่เคลียค่า

แต่เทสใส่เป็น Messange มันก็ปกติครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-24 14:45:54 By : reason01
 

 

No. 13

Guest


อ่ะนะ ฟอร์มที่ มาก็ต้องเพิ่ม code เข้าไปด้วย
Code (C#) frmBase
01.using System;
02.using System.Collections.Generic;
03.using System.ComponentModel;
04.using System.Data;
05.using System.Drawing;
06.using System.Linq;
07.using System.Text;
08.using System.Threading.Tasks;
09.using System.Windows.Forms;
10. 
11.namespace SampleBaseForm
12.{
13.    public partial class frmBase : Form
14.    {
15.        public frmBase()
16.        {
17.            InitializeComponent();
18.        }
19. 
20.        private void tsmSave_Click(object sender, EventArgs e)
21.        {
22.            Save();
23.        }
24.        protected virtual void Save()
25.        {
26.                         
27.        }
28. 
29.        private void tsmClear_Click(object sender, EventArgs e)
30.        {
31.            Clear();
32.        }
33.        protected virtual void Clear()
34.        {
35.            foreach (var x in this.Controls)
36.            {
37.                if (x is TextBox)
38.                {
39.                    ((TextBox)x).Text = String.Empty;
40.                }
41.            }
42.        }
43. 
44.    }
45.}
46. 
47.[cs]<strong>Code (C#)</strong>
48.[cs]using System;
49.using System.Collections.Generic;
50.using System.ComponentModel;
51.using System.Data;
52.using System.Drawing;
53.using System.Linq;
54.using System.Text;
55.using System.Threading.Tasks;
56.using System.Windows.Forms;
57. 
58.namespace SampleBaseForm
59.{
60.    public partial class Form1 : frmBase
61.    {
62.        public Form1()
63.        {
64.            InitializeComponent();
65.        }
66. 
67.      
68.        protected override void Save()
69.        {
70.            base.Save();
71.            //MessageBox.Show("Form1เด้อเจ่า");
72.        }
73.        protected override void Clear()
74.        {
75.            base.Clear();   //คือสืบทอดคุณสมบัติหรือเอาตามฟอร์มแม่มั้ง ถ้าไม่ต้องการก็ปิดด้วย // ข้างหน้า เพราะที่ออกแบบมาแบบนี้บางครั้งก็ไม่ใช่เสมอไปที่ new แล้วล้างหน้าจอครับ
76. 
77.        }      
78.    }
79.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-26 08:24:07 By : บัญดิษฐ
 

 

No. 14



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 13 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2016-12-26 08:24:07
รายละเอียดของการตอบ ::
ถ้าแบบนั้นแสดงว่า frmBase กับ Form1 น่าจะต้องมี control
ที่เหมือนกัน เปะๆ นะครับ

แต่ถ้า Form1 เพิ่ม control ขึ้นมา base..... จะใช้ไม่ได้ รึป่าวครับ
ตามความรู้แบบงูๆปลาๆ ของผม ไม่น่าจะมี control เหมือน frmBase เปะๆนะครับ(ถ้างั้นใช้ frmBase เลยน่าจะง่ายกว่า)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-26 08:53:23 By : lamaka.tor
 

 

No. 15

Guest


ตอบความคิดเห็นที่ : 14 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-12-26 08:53:23
รายละเอียดของการตอบ ::
อืมไม่ครับ คือประมาณว่าเราแค่ต้องการ Menu ไม่ต้องการ Control อื่นๆเนื่องจากต้องการให้ทุกหน้ามีเหมือนๆกัน คือไม่ต้องมาออกแบบทุกหน้าเพราะเมนูเหมือนๆกัน หรือตำแหน่งปุ๋มต่างๆเหมือนๆกันครับ ส่วนอื่นๆเราก็ว่างไว้ เวลาฟอร์มอืนๆเอาไปใช้ก็จะได้แต่เมนู เท่านั้นส่วนอื่นก็ออกแบบปกติของแต่ละฟอร์มครับ

frmbase1
frm1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-26 09:13:20 By : บัญดิษฐ
 

 

No. 16



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

แบบนี้ก็แหล่มเลยครับ

ผมจะได้เอามาลองเล่นดูมั่งซะแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-26 09:19:44 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามการสร้างฟอร์มปุ่ม แล้วผูกอีเว้นแยกครับ (มือใหม่)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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