How to Get value from another Form in C#
By Tan Lee Published on Jul 25, 2017 10.11K
To get a value from another form in a C# Windows Forms application, you typically use properties or methods in the target form to expose the data you need.
Open your Visual Studio, then click New Project, then select Visual C# on the left, then Windows and then select Windows Forms Application. Name your project "GetValueFromAnotherForm" and then click OK
Design your form as shown below.
Form1
This form will contain Add and Edit buttons to open the second form (frmAddEditStudent) and retrieve a value from it.
frmAddEditStudent
Create a student class to map data
public class Student { public string ID { get; set; } public string FullName { get; set; } }
Add code to handle your form as shown below.
Form1
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 GetValueFromAnotherForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnAdd_Click(object sender, EventArgs e) { //Add a student to binding source using(frmAddEditStudent frm = new frmAddEditStudent() { StudentInfo = new Student() }) { if (frm.ShowDialog() == DialogResult.OK) studentBindingSource.Add(frm.StudentInfo); } } private void btnEdit_Click(object sender, EventArgs e) { Student obj = studentBindingSource.Current as Student; if(obj != null) { using(frmAddEditStudent frm = new frmAddEditStudent() { StudentInfo = obj }) { if(frm.ShowDialog() == DialogResult.OK) { studentBindingSource.EndEdit(); btnEdit.Focus(); } } } } } }
frmAddEditStudent
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 GetValueFromAnotherForm { public partial class frmAddEditStudent : Form { public Student StudentInfo { get; set; } public frmAddEditStudent() { InitializeComponent(); } private void frmAddEditStudent_Load(object sender, EventArgs e) { //Init data if (StudentInfo != null) { txtStudentID.Text = StudentInfo.ID; txtFullName.Text = StudentInfo.FullName; } } private void btnOK_Click(object sender, EventArgs e) { StudentInfo.ID = txtStudentID.Text; StudentInfo.FullName = txtFullName.Text; } } }
By using properties and the modal dialog pattern, you can easily pass values between forms in a C# Windows Forms application.
VIDEO TUTORIAL
- How to Open and Show a PDF file in C#
- How to Get all Forms and Open Form with Form Name in C#
- How to zoom an image in C#
- How to Print a Picture Box in C#
- How to update UI from another thread in C#
- How to Search DataGridView by using TextBox in C#
- How to read and write to text file in C#
- How to save files using SaveFileDialog in C#
Categories
Popular Posts
Portal HTML Bootstrap
Nov 13, 2024
Freedash bootstrap lite
Nov 13, 2024
Motiv MUI React Admin Dashboard Template
Nov 19, 2024
K-WD Tailwind CSS Admin Dashboard Template
Nov 17, 2024