ホームページ  >  記事  >  バックエンド開発  >  .NET WinForm はリストビューにプログレスバーを追加するメソッドを実装します

.NET WinForm はリストビューにプログレスバーを追加するメソッドを実装します

黄舟
黄舟オリジナル
2017-05-21 11:15:591956ブラウズ

この記事では、.NET WinForm を介してリストビューにプログレスバーを追加する方法を主に紹介し、プログレス バー コントロールの追加と使用方法を例の形で簡単に分析します。 .NET WinForm の実装。リストビューにプログレスバーメソッドを追加します。参考までに皆さんと共有してください。詳細は次のとおりです:

長い間見つからなかったので、自分で簡単に書きました:

まず、データをロードする

イベント

にプログレスバーを追加します。リストビュー:

foreach (string d in arr)
{
    int index = lv.Items.Count + 1;
    item = new ListViewItem(new string[] { index.ToString(), d, "", "", "", "" });
    lv.Items.Add(item);
    float progress = 0;
    Rectangle SizeR = default(Rectangle);
    System.Windows.Forms.ProgressBar ProgBar = new System.Windows.Forms.ProgressBar();
    SizeR = item.SubItems[2].Bounds;
    SizeR.Width = lv.Columns[2].Width;
    ProgBar.Parent = lv;
    ProgBar.SetBounds(SizeR.X, SizeR.Y, SizeR.Width, SizeR.Height);
    ProgBar.Value = (int)progress;
    ProgBar.Visible = true;
    //取一个唯一的名字,以后好找
    ProgBar.Name = d + "progressbar";
}
次に、必要に応じて、プログレスバーの値を変更する場所にその値を設定します:

//循环listview上的所有控件,按名字找到progressbar
foreach (Control item in lv.Controls)
{
    if (item.Name == d.Name + "progressbar")
    {
      ProgressBar bar = (ProgressBar)item;
      bar.Value = (int)((d.Progress) * 100);
    }
}

実際、ドラッグした場合は、リストビューで指定されたグリッド内のプログレスバーを長さ、幅、高さに応じて修正するだけです。リストビュー内の列を変更すると、グリッドの位置が変更されます。対応するプログレスバーの位置を変更するには、列をドラッグすると、プログレスバーの位置が変更されます:

private void lvt_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
{
  Rectangle SizeR = default(Rectangle);
  int width = e.NewWidth;
  foreach (Control item in lv.Controls)
  {
    //根据名字找到所有的progressbar
    if (item.Name.IndexOf("progressbar") >= 0)
    {
      ProgressBar bar = (ProgressBar)item;
      //Rectangle size=bar.Bounds;
      SizeR=bar.Bounds;
      //lv.Columns[2]是放置progressbar的地方
      SizeR.Width=lv.Columns[2].Width;
      bar.SetBounds(lv.Items[0].SubItems[2].Bounds.X, SizeR.Y, SizeR.Width, SizeR.Height);
      //bar.Width = width;
    }
  }
}

以上が.NET WinForm はリストビューにプログレスバーを追加するメソッドを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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