ホームページ >バックエンド開発 >C#.Net チュートリアル >C# でパーセンテージを含むプログレス バー関数を実装する方法に関するサンプル コードの共有

C# でパーセンテージを含むプログレス バー関数を実装する方法に関するサンプル コードの共有

黄舟
黄舟オリジナル
2017-05-21 10:55:561960ブラウズ

この記事では、パーセンテージを使用した プログレスバー 関数を実装するための C# を主に紹介し、パーセンテージを使用したプログレスバーの機能要件を分析し、必要な友人が参照できるように具体的な実装手順と関連する操作方法を提供します。

この記事の例では、C# でパーセンテージを含むプログレス バー関数を実装する方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

機能要件:

時間のかかる計算処理を実行するプログラムの場合、ユーザーがクリックした後にプログレスバーウィンドウをポップアップ表示したいボタン。実行の進行状況 (できればパーセンテージで表示) を表示します。実行が完了すると、進行状況バー ウィンドウが閉じて、メイン プログラム ウィンドウに戻ります。 子ウィンドウを閉じる前に親フォームをクリックすることはできません。

実装方法:

最初にForm2プログレスバーフォームをデザインし、ProgressBarコントロールprogressBar1とLabelコントロールlabel1をForm2の中央に配置します。コード:

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コントロールbutton1を追加します。 , イベントコード:

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 にパラメーターをもう 1 つ追加して修正することができます。それに応じて:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。