langsung saja, misalkan ada sebuah aplikasi dengan rancangan form seperti berikut ini:
Form1
Form2
pada rancangan di atas, Form1 bertindak sebagai sebuah MDIForm, sedangkan Form2 adalah Child Form dari Form1.
untuk agar Form2 sebagai Form Child dari Form1 bisa mengakses method yang disediakan di Form1, method dari Form1 tersebut harus dimarked sebagai public method. dan cara aksesnya dapat dilihat pada source code di bawah ini (C#).
Source Code Program.cs
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
Source Code Form1.cs
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// method dengan access public pada Form1
public string GetText()
{
return "Hello Get From Form1";
}
// method dengan access public pada Form1
public void SetText(string s)
{
this.Text = s;
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.MdiParent = this;
form.Show();
}
}
}
Source Code Form2
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// mengakses method public dari Form1
this.Text = (Form1.ActiveForm as Form1).GetText();
(Form1.ActiveForm as Form1).SetText("Hello Form1 Set From Form2");
}
}
}
sedangkan untuk VB.NET, karena defaultnya semua form ada instance staticnya, untuk mengakses method pada Form1 dari Form2 dapat dilakukan dengan lebih mudah, yaitu dengan memanggil static instance defaultnya, seperti yang ditunjukkan pada potongan code di bawah ini
Potongan Code Form2
…
Me.Text = Form1.GetText()
Form1.SetText(“Hello Form1 Set From Form2”)
…
Ok, Semoga Bermanfaat
Rgds
Adi
Tidak ada komentar:
Posting Komentar