Tải bản đầy đủ (.pdf) (14 trang)

Chapter 11 Advanced Topics in Windows Forms

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (157.28 KB, 14 trang )

1
Week 10
Chapter 11. Advanced Topics in
Windows Forms
Chapter 12. Enhancing Usability
Chapter 15: Crystal Report
Chapter 11. Advanced Topics
in Windows Forms

11.1 Drag-Drop (P523)

11.2 MDI (P543)
2
11.1 Drag-Drop (P523)

Windows users fall into two general
categories:

use the keyboard

use the mouse

Drag and drop: same as cutting and pasting
using keyboard
11.1 Drag-Drop (P523)
Sequence of events

Dragging is initiated (call DoDragDrop for the source )

The DoDragDrop method takes two parameters:


data

allowedEffects

A new DataObject object is automatically created.

Raises the GiveFeedback event. (display a custom
mouse pointer during the drag)

Control with AllowDrop =True can receive drop.

DragEnter raised (mouse pass).

GetDataPresent :make sure that the format of the data

Effect property is used to display the appropriate mouse
pointer.

DragDrop: extracts the data from the DataObject
3
11.1 Drag-Drop (P523)
Source control
Target control
+MouseDown
-TXT1.DoDragDrop
(textBox1.Text,
DragDropEffects.Copy )
AllowDrop=true
+DragEnter
if (e.Data.GetDataPresent

(DataFormats.Text))
e.Effect =
DragDropEffects.Copy;
+DragDrop
TXT2.Text =
(string)e.Data.GetData (
DataFormats.Text);
Drag-Drop: demo: Textbox

Using Textbox

Step1: DragEnter event

Step2: DragDrop event

Step3: MouseDown event
4
Drag-Drop: demo: PictureBox

AllowDrop

DragEnter

DragDrop

KeyState
11.1 Drag-Drop (P523) -
demo: treeview

Example: Drag-Drog in Treeview


treeView1_ItemDrag

treeView1_DragEnter

treeView1_DragDrop

treeview1.PointToClient(new Point(e.X, e.Y));

treeview1.GetNodeAt(apoint);

Clone node;

}
5
form
tree
Xform
Yform
Xcontrol
Ycontrol
Point_form(Xform,Yform)
Point_control(Xform,Yform)
C.
PointToClient(Point_form
)
11.1 Drag-Drop (P523) -
demo: Listview

Make new collection


Array

ArrayList

List<generic>
6
11.2 MDI

parent form/child form model.

Has a single parent form

The parent form organizes and
arranges all of the child documents that
are currently open.
11.2 MDI

What is an MDI Form?

Multiple-document interface (MDI)
applications allow you to display multiple
documents at the same time, with each
document displayed in its own window.
7
11.2 MDI

How do I create an MDI Parent form ?

Creating an MDI Parent Form


IsMDIContainer=true

How do I create an MDI Child form ?

Creating MDI Child Forms

Set MdiParent to parent form
11.2 MDI

How do I change the Background color of an MDI Parent form?

private void MDIParent1_Load(object sender, EventArgs e)

{

foreach (Control c in this.Controls) {

try

{

MdiClient m = (MdiClient)c;

m.BackColor = Color.Red;

}

catch (Exception ex)


{}

}

}
8
11.2 MDI

Identifying the Active Child Form

Form aForm;

aForm = this.ActiveMDIChild;
11.2 MDI

Arranging MDI Child Forms

this.LayoutMdi(System.Windows.Forms.Mdi
Layout.Cascade);
9
11.2 MDI

Window List Menu

MenuStrip component

Set the MdiWindowListItem property to the
menu item
11.2 MDI


How do I check if an MDI Child form already exists,
so that we don't show the same form twice?

foreach (Form f in this.MdiChildren)

{

if (f.Text == "Window 2")

{

this.ActivateMdiChild(f);

return;

}

}

Form f1 = new Form();

f1.MdiParent = this;

f1.Show();
10
Chapter 12. Enhancing
Usability

Lesson 2: Using User Assistance
Controls and Components


The ProgressBar Control

StatusStrip Control

ToolTip Component

ErrorProvider Component

HelpProvider Component
Chapter 12. Using User Assistance
Controls and Components

The ProgressBar Control

Visually indicate progress for a time-
consuming operation.

Maximum, Minimum, Value, Step
progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
progressBar1.Step = 1;
for (int i = 0; i < 101; i++)
{
CopyFiles(i);
progressBar1.PerformStep();
}
11
Chapter 12. Using User Assistance
Controls and Components


StatusStrip Control

Display status information about the
application.

ToolStripStatusLabel

Text
Chapter 12. Using User Assistance
Controls and Components

ToolTip Component

To set a tooltip in the Designer

To set a tooltip in code

toolTip1.SetToolTip(button1,

"This button activates the self-destruct
sequence");
12
Chapter 12. Using User Assistance
Controls and Components

ErrorProvider Component

provide feedback to the user when an error
condition results for a control in the form.


Turn on

errorProvider1.SetError(TextBox1, "Value must
be numeric");

Turn off

errorProvider1.SetError(TextBox1, "");
Chapter 15: Report
13
Chapter 15: Crystal Report

Crystal Report File

Crystal Report Viewer
Chapter 15: Crystal Report

1. Create Type Dataset

2. Create Crystal Report Template

Menu Project -> Add new item -> Crystal Report

->Using Report Wizard->choose Typed-Dataset-
>…

3. Create CrystalReport Viewer

4. Code to connect objects…


Example
14
Chapter 15: Crystal Report
Typed Dataset
Dataset
Crystal Report.Rpt
Crystal Report Viewer
Class
Chapter 15: Crystal Report

//Create and Fill data into Dataset ds


CrystalReport1 c = new CrystalReport1();

c.SetDataSource(ds);

crystalReportViewer1.ReportSource = c;

×