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,027

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



 

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

 



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 : 978 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#)
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 frmBase : Form
    {
        public frmBase()
        {
            InitializeComponent();
        }

        private void tsmSave_Click(object sender, EventArgs e)
        {
            Save();
        }
        protected virtual void Save()
        {
            
        }

    }
}


พอมา 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,436 )
บทความ ( 23 )



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

Code (C#)
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Test Form1");
        }
    }


Code (C#)
public partial class Form2 : Form1
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Test Form2");
        }
    }


Code (C#)
public partial class Form3 : Form1
    {
        public Form3()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Test Form3");
        }
    }


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

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


 

No. 10



โพสกระทู้ ( 4,436 )
บทความ ( 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#)
private void tsmClear_Click(object sender, EventArgs e)
        {
            Clear();
        }
        protected virtual void Clear()
        {
            foreach (var x in this.Controls)
            {
                if (x is TextBox)
                {
                    ((TextBox)x).Text = String.Empty;//ล้างเฉพาะ TextBox อันอื่นก็คล้ายกัน ต่างกันที่ Type เด้อ (is อะไรอ่ะ)
                }
            }
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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
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 frmBase : Form
    {
        public frmBase()
        {
            InitializeComponent();
        }

        private void tsmSave_Click(object sender, EventArgs e)
        {
            Save();
        }
        protected virtual void Save()
        {
                        
        }

        private void tsmClear_Click(object sender, EventArgs e)
        {
            Clear();
        }
        protected virtual void Clear()
        {
            foreach (var x in this.Controls)
            {
                if (x is TextBox)
                {
                    ((TextBox)x).Text = String.Empty;
                }
            }
        }

    }
}

[cs]Code (C#)
[cs]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();
        }

     
        protected override void Save()
        {
            base.Save();
            //MessageBox.Show("Form1เด้อเจ่า");
        }
        protected override void Clear()
        {
            base.Clear();   //คือสืบทอดคุณสมบัติหรือเอาตามฟอร์มแม่มั้ง ถ้าไม่ต้องการก็ปิดด้วย // ข้างหน้า เพราะที่ออกแบบมาแบบนี้บางครั้งก็ไม่ใช่เสมอไปที่ new แล้วล้างหน้าจอครับ

        }       
    }
}


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


 

No. 14



โพสกระทู้ ( 4,436 )
บทความ ( 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,436 )
บทความ ( 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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