หรือไม่ก็ทำแบบนี้เอาครับ ที่ 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();
}
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 แล้วล้างหน้าจอครับ
}
}
}