Príklad prepojenia TextBox-u s dátami:
this.textBox1.DataBindings.Add("Text",this.myList,"UserName");
Vytvoríme si this.myList , ktorý obsahuje list objektov z triedy ClassUser. Ak sa zmení hodnota UserName, tak sa nám to hneď prejaví v TextBox-e a opačne, ak zmeníme údaj v TextBoxe, tak sa nám automaticky zmení aj v UserName.
Môžeme prepojiť aj inú vlastnosť napr. Checked v CheckBoxe:
this.checkBox1.DataBindings.Add("Checked",this.myList,"IsAdmin");
Pri prepojení ComboBox-u s Listom musíme ešte nastaviť DisplayMember :
this.comboBox1.DataSource = this.myList; this.comboBox1.DisplayMember = "UserName";
Ak chceme prepojiť vlastnosť typu int s TextBoxom :
System.Windows.Forms.Binding b1 = new System.Windows.Forms.Binding("Text",this.myList,"Age");
b1.Format += new ConvertEventHandler(b1_Format);
this.textBox1.DataBindings.Add(b1);
void b1_Format(object sender, ConvertEventArgs e)
{
if (e.Value.GetType() != typeof(string)) return;
string value1 = (string)e.Value;
try
{
e.Value = Convert.ToInt16(value1);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Trieda ClassUser :
public class ClassUser
{
public string UserName{get;set;}
public string LoginName{get;set;}
public string Info{get;set;}
public int Age{get;set;}
public bool IsAdmin{get;set;}
}
Kód v c# :
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Binding
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
private List<ClassUser> myList = new List<ClassUser>();
public MainForm()
{
InitializeComponent();
defaultData();
bindingAll();
}
private void bindingAll()
{
this.textBox1.DataBindings.Add("Text",this.myList,"UserName");
this.textBox2.DataBindings.Add("Text",this.myList,"LoginName");
this.richTextBox1.DataBindings.Add("Text",this.myList,"Info");
this.comboBox1.DataSource = this.myList;
this.comboBox1.DisplayMember = "UserName";
this.listBox1.DataSource = this.myList;
this.listBox1.DisplayMember = "LoginName";
this.checkBox1.DataBindings.Add("Checked",this.myList,"IsAdmin");
//DataGridView
DataGridViewTextBoxColumn userColumn = new DataGridViewTextBoxColumn();
userColumn.DataPropertyName = "UserName";
userColumn.HeaderText = "Header user name";
DataGridViewTextBoxColumn loginColumn = new DataGridViewTextBoxColumn();
loginColumn.DataPropertyName = "LoginName";
loginColumn.HeaderText = "Login name";
DataGridViewTextBoxColumn infoColumn = new DataGridViewTextBoxColumn();
infoColumn.DataPropertyName = "Info";
infoColumn.HeaderText = "Info";
DataGridViewTextBoxColumn ageColumn = new DataGridViewTextBoxColumn();
ageColumn.DataPropertyName = "Age";
ageColumn.HeaderText = "Age";
DataGridViewCheckBoxColumn adminColumn = new DataGridViewCheckBoxColumn();
adminColumn.DataPropertyName = "IsAdmin";
adminColumn.HeaderText = "Admin";
this.dataGridView1.Columns.Add(userColumn);
this.dataGridView1.Columns.Add(loginColumn);
this.dataGridView1.Columns.Add(infoColumn);
this.dataGridView1.Columns.Add(ageColumn);
this.dataGridView1.Columns.Add(adminColumn);
this.dataGridView1.DataSource = this.myList;
}
private void defaultData()
{
ClassUser user1 = new ClassUser();
user1.UserName ="user1";
user1.LoginName ="user1Login";
user1.Info = "Info about user1";
user1.Age = 15;
user1.IsAdmin = true;
myList.Add(user1);
ClassUser user2 = new ClassUser();
user2.UserName ="user2";
user2.LoginName ="user2Login";
user2.Info = "Info about user2";
user2.Age = 25;
user2.IsAdmin = true;
myList.Add(user2);
ClassUser user3 = new ClassUser();
user3.UserName ="Ferko";
user3.LoginName ="Ferko33";
user3.Info = "Info about Ferko";
user3.Age = 31;
user3.IsAdmin = false;
myList.Add(user3);
}
}
}








