이 글에서는 주로 진행률 표시줄 기능의 C# 구현을 백분율로 소개하고, 진행률 표시줄의 기능적 요구 사항을 백분율로 분석하고, 구체적인 구현 단계와 예를 제공합니다. 관련 작업 방법은
을 참조하세요. 이 글은 C#에서 진행률 표시줄 기능을 백분율로 구현하는 예를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
기능 요구 사항:
시간이 많이 걸리는 계산 프로세스가 사용자가 버튼을 클릭하면 실행 진행률을 표시하는 진행률 표시줄 창이 나타납니다. (가급적이면 실행이 완료된 후 진행률 표시줄 창이 나타납니다. 닫히고 기본 프로그램 창으로 돌아갑니다. 하위 창을 닫기 전에는 상위 양식을 클릭할 수 없습니다.
구현 방법:
먼저 Form2 진행률 표시줄 형식을 디자인하고 ProgressBarControlprogressBar1 및 Label 컨트롤 label1, 코드:
public partial class Form2 : Form { public Form2(int _Minimum,int _Maximum)//带参数,表示进度条的范围的最小值和最大值 { InitializeComponent(); progressBar1.Maximum=_Maximum;//设置范围最大值 progressBar1.Value = progressBar1.Minimum = _Minimum;//设置范围最小值 } public void setPos(int value)//设置进度条当前进度值 { if (value < progressBar1.Maximum)//如果值有效 { progressBar1.Value = value;//设置进度值 label1.Text = (value * 100 / progressBar1.Maximum).ToString() + "%";//显示百分比 } Application.DoEvents();//重点,必须加上,否则父子窗体都假死 } private void Form2_Load(object sender, EventArgs e) { this.Owner.Enabled = false;//设置父窗体不可用 } private void Form2_FormClosed(object sender, FormClosedEventArgs e) { this.Owner.Enabled = true;//回复父窗体为可用 } }For1m 디자인 양식 호출, Button 컨트롤 버튼1 추가,
Event코드:
private void button1_Click(object sender, EventArgs e) { Form2 fm = new Form2(0,100); fm.Show(this);//设置父窗体 for (int i = 0; i < 100; i++) { fm.setPos(i);//设置进度条位置 Thread.Sleep(100);//睡眠时间为100 } fm.Close();//关闭窗体 }
보충: 일부 친구들은 fm.Show(this):가 vs2003에서 지원되지 않는다고 말했습니다. 그러면 From2의 생성자 :
public Form OwnerForm; public Form2(int _Minimum,int _Maximum,Form _OwnerForm)//带参数,表示进度条的范围的最小值和最大值 { InitializeComponent(); progressBar1.Maximum=_Maximum;//设置范围最大值 progressBar1.Value = progressBar1.Minimum = _Minimum;//设置范围最小值 this.OwnerForm=_OwnerForm; } private void Form2_Load(object sender, EventArgs e) { this.OwnerForm.Enabled = false;//设置父窗体不可用 } private void Form2_FormClosed(object sender, FormClosedEventArgs e) { this.OwnerForm.Enabled = true;//回复父窗体为可用 }에 매개변수를 하나 더 추가할 수 있습니다. Form1에서 수정 사항은 다음과 같습니다.
private void button1_Click(object sender, EventArgs e) { Form2 fm = new Form2(0,100,this); fm.Show();//设置父窗体 for (int i = 0; i < 100; i++) { fm.setPos(i);//设置进度条位置 Thread.Sleep(100);//睡眠时间为100 } fm.Close();//关闭窗体 }
위 내용은 백분율로 진행률 표시줄 기능을 구현하는 C# 샘플 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!