How to Get value from another Form in C#
By FoxLearn 11/3/2024 2:31:30 PM 9.38K
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 Create a custom Progress Bar with Percentage in C#
- How to update UI from another thread in C#
- How to Create a Wait Form Dialog in C#
- How to Get all Forms and Open Form with Form Name in C#
- How to use Advanced Filter DataGridView in C#
- How to Print DataGridView with Header & Footer with Landscape in C#
- How to Add Combobox to DataGridView in C#
- How to Hide a WinForm in C#
Categories
Popular Posts
Portal HTML Bootstrap
11/14/2024
Freedash bootstrap lite
11/13/2024
Material Lite Admin Template
11/14/2024
tsParticles Authentication Template
11/17/2024