Em đang lập trình một cái từ điển và sử dụng xml. Em đang làm đến phần mà...khi nhập chữ "a" vào textbox txtTim thì ở listbox List_English hiện lên các từ bắt đầu bằng chữ "a" (giống như tra từ điển á)...nhưng không biết làm...các pro có ai biết thì giúp em với !! Cảm ơn...
Code:
namespace My_Dictionary
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
XmlDocument tudien = new XmlDocument(); //XmlDocument cung cấp một cây miêu tả tài liệu xml
string[] English = new string[100];
XmlNodeList xmlEnglish, xmlloai1, xmlvn1, xmlvd, xmlvn2, xmlloai2, xmlvn3, xmlvn4; //Khai báo các node trong cây từ điển
private void Loaddata()
{
tudien.Load(Application.StartupPath + @"\tudien.xml"); //Load file tudien.xml
//Miêu tả một node trong tudien.xml (node English)
xmlEnglish = tudien.GetElementsByTagName("English"); //Trả về một XmlNodeList có chứa một danh sách
//của tất cả các yếu tố theo sau phù hợp với "English"
int i = 0;
foreach (XmlNode word in xmlEnglish)
{
English[i] = word.InnerText; //trả về các giá trị được ghép nối của node và tất cả các node con của nó
List_english.Items.Add(English[i]);
i++;
}
}
private void Form1_Load(object sender, EventArgs e)
{
Loaddata();
}
private void thoátToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void btSearch_Click(object sender, EventArgs e)
{
xmlloai1 = tudien.GetElementsByTagName("loai1");
xmlvn1 = tudien.GetElementsByTagName("vn1");
xmlvd = tudien.GetElementsByTagName("vd");
xmlvn2 = tudien.GetElementsByTagName("vn2");
xmlloai2 = tudien.GetElementsByTagName("loai2");
xmlvn3 = tudien.GetElementsByTagName("vn3");
xmlvn4 = tudien.GetElementsByTagName("vn4");
for (int i = 0; i<xmlvn1.Count; i++)
{
if (xmlEnglish[i].InnerText == txtTim.Text)
{
try
{
rtvietnam.Text = xmlloai1[i].InnerText + "\n\t" + xmlvn1[i].InnerText + "\n\t\t" + xmlvd[i].InnerText + "\n" + xmlloai2[i].InnerText + "\n\t" + xmlvn3[i].InnerText + "\n\t" + xmlvn4[i].InnerText;
}
catch (Exception a)
{
Console.WriteLine("{0} Exception caught.", a);
}
}
}
}
private void txtTim_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
btSearch_Click(sender, e);
}
private void List_english_SelectedIndexChanged(object sender, EventArgs e)
{
if (List_english.SelectedItem != null)
{
txtTim.Text = List_english.SelectedItem.ToString();
cbTim.Text = List_english.SelectedItem.ToString();
}
btSearch_Click(sender, e);
}
private void List_english_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
btSearch_Click(sender, e);
}
private void Form1_SizeChanged(object sender, EventArgs e)
{
int intWidthScreen = Screen.PrimaryScreen.WorkingArea.Width;
int intHeightScreen = Screen.PrimaryScreen.WorkingArea.Height;
}
}
}