(A)의 방법의 WinForm 개발 환경을 이용
1) 소프트웨어 배포 아키텍처
2) Windows 응용 프로그램을 만듭니다
비주얼 Stuido 단계에서 Windows 응용 프로그램을 만듭니다 1 :
- 비주얼 스튜디오를 열고;
- 새로운 프로젝트;
- 프로젝트 유형 : Visual C # 프로젝트;
- 틀 : Windows 응용 프로그램;
2. .NET의 가장 높은 버전을 선택하지 않아도
가장 높은 버전을 설치해야합니다 최고의 미래 클라이언트를 사용하여 개발하는 경우;
[참고] 디렉토리 구조를 :
- 일반적으로 응용 프로그램의 진입 점입니다 program.cs 파일을 가지고;
- 참고 우리는 모듈의 일부를 사용, 네임 스페이스를 추가 할 참조를 추가;
- 어셈블리의 속성의 AssemblyInfo.cs 정보입니다
- Form.cs 및 Form.cs [디자인] 사이 바로 스위칭 F7 시프트 + F7이고;
3. 솔루션 탐색기
역할 : 전체 현저한 파일;
[주] 대장의 역할 :
- 상속을 대표;
- 인터페이스를 구현;
부분 키워드 :
키워드 후 클래스와 결합 된 클래스 자체의 일부를 정의, 부서 클럽 유형에 통합;
공통 속성 :
(B) 이벤트 구동기구
첫 번째 첫 번째 조사를 오류;
응용 프로그램 1) 이벤트
컴퓨터 이벤트 :
- 마우스, 키보드를 눌러 눌러;
이벤트의 역할 :
- 사용자의 요구가 없을 경우에 의해 처리 된 사용자 요청에 응답하는 윈도우 시스템 이벤트가 정지 대기 상태에있다;
이벤트는 다음과 같이 구성
- 필요한, 그리고 마지막으로 "이벤트 자체"와 "프로세스"(배경 자동으로 동료) 연결되어있는 사전 (.NET 플랫폼)에서 이벤트를 설정하고 이벤트 핸들러 (개발자의 정의)를 추가;
- 사용자 작업 이벤트 (예 : 버튼을 클릭하는 것과이, 아이콘 등을 두 번 클릭)하면, 자동으로 이벤트 핸들러 작업이 완료 될 때 호출;
2) 버튼의 속성
- 버튼의 이름은 ID가, 즉,이 고유 실제로;
- 이러한 클릭과 같은 이벤트를 추가,이 사건에서 찾을 수 있습니다, 다음, 이벤트의 프레임 워크에서 더블 클릭, 당신은 클릭 이벤트를 삭제하려면, 그것은 필요 FrmMain.cs [디자인]입니다, 버튼 컨트롤을 찾은 다음 속성, 실행 오류 [이 이벤트를 위임 수동으로 삭제하기] 발생했을 때, 재설정이 아니라, 사용자 코드에서 직접 삭제 이벤트, 클릭 오른쪽으로 재설정을 클릭합니다
public partial class FrmMain : Form
{
public FrmMain() //构造方法
{
InitializeComponent();
// 将按钮的单击事件和事件响应方法结合【实际上是在另外的一个位置,这是放在这里便于观察】
this.BTNTest.Click += new System.EventHandler(this.BTNTest_Click);
}
private void FrmMain_Load(object sender, EventArgs e)
{
}
//事件的响应方法
private void BTNTest_Click(object sender, EventArgs e)
{
MessageBox.Show("你好!");
}
}
두 개의 추가 방법 님의 질문에 답변
의 증가는, 이것이 당신이 분리 첫째 잘못하지 않는 경우, 시간을 설정 드롭 다운 상자에서 더 유용 두 가지 이벤트 분리 버튼 및 연결 이벤트입니다;
namespace WFDemo
{
public partial class FrmMain : Form
{
public FrmMain() //构造方法
{
InitializeComponent();
// 将按钮的单击事件和事件响应方法结合
this.BTNTest.Click += new System.EventHandler(this.BTNTest_Click);
}
private void FrmMain_Load(object sender, EventArgs e)
{
}
//事件的响应方法
private void BTNTest_Click(object sender, EventArgs e)
{
MessageBox.Show("你好!");
}
//事件断开按钮
private void BtnSwitch_Click(object sender, EventArgs e)
{
this.BTNTest.Click -= new System.EventHandler(this.BTNTest_Click);
}
//事件关联按钮
private void button1_Click(object sender, EventArgs e)
{
this.BTNTest.Click += new System.EventHandler(this.BTNTest_Click);
}
}
}
참고 :
송신자는 이벤트 소스 개체를 나타냅니다 만, 때, 원래의 유형으로 캐스트를 입력 할 사용을 필요로하는 초기 개체 클래스 때문에;
- 여기에 이벤트에 대한 공공 응답의 예입니다 :
// 主要看最后一个BtnTeacher_Click方法
namespace WFDemo
{
public partial class FrmMain : Form
{
public FrmMain() //构造方法
{
InitializeComponent();
// 将按钮的单击事件和事件响应方法结合
this.BTNTest.Click += new System.EventHandler(this.BTNTest_Click);
//给三个按钮单击事件添加同一个事件响应方法
this.BtnAndy.Click += new System.EventHandler(this.BtnTeacher_Click);
this.BtnCarry.Click += new System.EventHandler(this.BtnTeacher_Click);
this.BtnCoco.Click += new System.EventHandler(this.BtnTeacher_Click);
}
private void FrmMain_Load(object sender, EventArgs e)
{
}
//事件的响应方法
private void BTNTest_Click(object sender, EventArgs e)
{
MessageBox.Show("你好!");
}
private void BtnSwitch_Click(object sender, EventArgs e)
{
this.BTNTest.Click -= new System.EventHandler(this.BTNTest_Click);
}
private void button1_Click(object sender, EventArgs e)
{
this.BTNTest.Click += new System.EventHandler(this.BTNTest_Click);
}
private void button2_Click(object sender, EventArgs e)
{
}
// 事件响应的公共方法(sender表示的是事件源对象)
private void BtnTeacher_Click(object sender, EventArgs e)
{
string txt = ((Button)sender).Text;
MessageBox.Show(txt + "您好!");
}
}
}
3) 이벤트는 대개 컨트롤을 사용
중요한 이벤트의 형태 :
- 로드 : 폼로드 이벤트 (거의 사용하지 않음);
- FormClosing : 양식 전에 이벤트가 닫혀;
- FormClosed : 폼 이벤트가 발생 닫으면;
텍스트 상자 중요한 이벤트 :
- 의 TextChanged : 텍스트 상자 변경 이벤트의 내용은;
- 사용자 이벤트 키를 누를 그것이 일어 났을 때 해제 ;: 키를 누를 때
- 하는 MouseLeave : 마우스가 텍스트 상자가 발생 떠날 때;
드롭 다운 중요한 사건의 상자 :
- 의 SelectedIndexChanged : 변경 사항이 발생할 때 풀다운 항목을 사용자가 선택하면,
전체 사용 (C) 프롬프트 메시지
사용자 경험에 영향을 미치는, 종료 뉴스 팁을 사용하는 방법을 배우게합니다,하지만 당신은 때문에 수동의 필요성, 너무 많이 사용할 수 없습니다;
데모 :
// 这里只是写出事件的响应方法;并没有将单击事件与事件的响应方法相结合,这个工作是由虚拟机完成;
private void BtnTestMsg_Click(object sender, EventArgs e)
{
MessageBox.Show("请输入学员姓名!");
MessageBox.Show("请输入学员姓名!", "验证提示");
MessageBox.Show("请输入学员姓名!", "验证提示", MessageBoxButtons.OKCancel);
MessageBox.Show("请输入学员姓名!", "验证提示",
MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
// 用户分别选择取消或者确定时候分别执行怎样的结果
DialogResult result = MessageBox.Show("请输入学员姓名!", "验证提示",
MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if(result == DialogResult.Cancel)
{
//用户取消操作
MessageBox.Show("用户取消操作!");
}
else
{
//用户继续执行操作
MessageBox.Show("用户继续操作!");
}
}
코드 분석 :