MDI: Multiple Document Interface MDI cho phép xem nhi ều cửa sổ trong phạm vi một c ửa sổ lớn hơn – có vai trò như cửa sổ mẹ... T ại một thời điểm, chỉ một cửa sổ được kích hoạt và nó xu
Trang 1Chương 1
GIAO DIỆN NÂNG CAO
Trang 2N ộ i dung
1 Xây d ựng ứng dụng nhiều form
Ứng dụng đơn form và ứng dụng đa form,
Truy xu ấ t qua l ạ i gi ữ a các form.
2 Các control
TreeView,
ListView,
ImageList.
Trang 3SDI & MDI
SDI: Single Document Interface
SDI là d ạ ng các c ử a s ổ xu ấ t hi ệ n độ c l ậ p v ớ i nhau, không ph ụ thuộc vào một cửa sổ mẹ.
MDI: Multiple Document Interface
MDI cho phép xem nhi ều cửa sổ trong phạm vi một
c ửa sổ lớn hơn – có vai trò như cửa sổ mẹ.
Trang 4SDI & MDI
SDI form:
Trang 5SDI & MDI
MDI form:
Trang 6SDI & MDI
MDI form:
Trang 8MDI form
Vùng client th ường được gọi là “workspace” và không
s ử d ụ ng tr ự c ti ế p để hi ể n th ị d ữ li ệ u c ủ a ch ươ ng trình Workspace có th ể không chứa hay chứa nhiều cửa sổ
con M ỗi cửa sổ con hiển thị một tài liệu.
T ại một thời điểm, chỉ một cửa sổ được kích hoạt và
nó xu ất hiện phía trước tất cả các cửa sổ khác.
T ất cả các cửa sổ tài liệu con được giới hạn bởi vùng
workspace, không bao gi ờ xu ấ t hi ệ n bên ngoài vùng này
Trang 9T ạo form MDI
T ạo Project
T ạp form
Thi ết lập thuộc tính MDI cho form:
frm.IsMdiContainer = true ;
Nh ận form MDI
Form MDI g ọi một form khác
frmTreeView frm = new frmTreeView();
frm.MdiParent = this ; frm.WindowState =
Trang 10Thu ộ c tính, ph ươ ng th ứ c và s ự ki ệ n c ủ a MDI
Thu ộ c tính c ủ a MDI child
IsMdiChild Cho bi ế t form là child hay không
MdiParent Xác đị nh form cha c ủ a form
Thu ộ c tính c ủ a MDI parent
ActiveMdiChild Tr ả v ề form con đ ang active
IsMdiContainer Xác đị nh form là MDI parent ho ặ c không
MdiChildren Tr ả v ề m ả ng ch ứ a các form con
Ph ươ ng th ứ c
LayoutMdi Xác đị nh cách hi ể n th ị các form con
S ự ki ệ n
Trang 12Form
Trang 13MDI form
Đóng child form đang active:
if ( this ActiveMdiChild != null )
Trang 14Truy xu ấ t qua l ạ i gi ữ a các Form
Trang 15Truy xu ấ t qua l ạ i gi ữ a các Form
Trang 16Truy xu ấ t qua l ạ i gi ữ a các Form
get { return strMessage ; }
set { strMessage = value; } }
private void Form2_Load( object sender, EventArgs e)
{ lblReceived.Text = strMessage; }
Trang 17Truy xu ấ t qua l ạ i gi ữ a các Form
Trang 18Truy xu ấ t qua l ạ i gi ữ a các Form
Dùng Delegate :
public partial class Form2 : Form
{
public delegate void SendMessage ( string strMessage);
public SendMessage Sender;
Trang 19Truy xu ấ t qua l ạ i gi ữ a các Form
Trang 20ListView
Trang 21private void btnLoadHeader_Click
(object sender, EventArgs e)
Trang 22lvDataDn.GridLines = true;
lvDataDn.FullRowSelect = true;
lvDataDn.MultiSelect = true;
lvDataDn.HideSelection = false;
lvDataDn.View = View.Details;
hdID.Width = 100;
hdName.Width =140; hdBirthday.Width = 140;lvDataDn.Columns.Clear();
Trang 24private void btnAdd_Click
(object sender, EventArgs e)
Trang 25ListViewItem.ListViewSubItem itemBirthday =
new ListViewItem.ListViewSubItem();
itemBirthday.Text = dateBirthDay.Value.Day + "/" +
dateBirthDay.Value.Month + "/" +
dateBirthDay.Value.Year;
itemID.SubItems.Add(itemBirthday);
Trang 26private void btnRemove_Click
(object sender, EventArgs e)
Trang 27ListView.SelectedIndexCollection indices = lvDataDn.SelectedIndices;
foreach (int index in indices)
{
//Process Index here
}
ListView
Trang 28TreeView
Trang 31private void frmTreeView_Load
(object sender, EventArgs e)
Trang 32( object sender, EventArgs e)
rootNode.SelectedImageIndex = rootNode.ImageIndex;
tvSample.Nodes.Add(rootNode);
txtRoot.Text = "" ;
Trang 34private void btnRemove_Click(object sender,
Trang 35Image List
Trang 40private MenuStrip menuBar;
menuEdit, menuFileNew, menuFileOpen, menuFileExit, menuEditCut, menuEditCopy, menuEditPaste;
Trang 41private void createMenu()
{menuBar = new MenuStrip();
menuBar.Font = new Font("arial", 36,
FontStyle.Bold, GraphicsUnit.Pixel);
this.MainMenuStrip = menuBar;
Image List
Trang 42menuFileOpen = new ToolStripMenuItem( "Open" ); ToolStripSeparator sp = new
Trang 43menuFile.DropDownItems.Add(sp); menuFile.DropDownItems.Add(
menuFileExit);
menuEditCut = new ToolStripMenuItem("Cut");menuEditCopy = new
ToolStripMenuItem("Copy");
Image List
Trang 45private void processClick
private void frmMenuStrip_Load
(object sender, EventArgs e)
{
createMenu();
Image List
Trang 46DataGridView