none
C# 窗体程序,怎么做等待处理用的层和进度条 RRS feed

  • 问题

  • 想在C# 窗体程序中,做一个能一点提交,弹出一个层,用来遮挡主窗体,让主窗体半透明状无法操作的层,在这个层上显示个一条不段滚动的滚动条

    不知道用什么方法和控件来实现,请高手指点~


    2011年7月14日 8:35

答案

  • dear
    给个思路

    1.,先在一个Form上画好下进度条(ProgressBar类别),然后设定Form属性ControlBox=false;FormBordeStyle=none ;ProgressBar用法请参考

    http://www.isstudy.com/cjc/1455.html

    http://iamkaspar.blogspot.com/2008/04/c-copy-file-progress-bar.html

    2.当主画面按下提交后呼叫,刚刚建立的视窗用Form.ShowDialog()方法


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年7月16日 17:31

全部回复

  • dear
    给个思路

    1.,先在一个Form上画好下进度条(ProgressBar类别),然后设定Form属性ControlBox=false;FormBordeStyle=none ;ProgressBar用法请参考

    http://www.isstudy.com/cjc/1455.html

    http://iamkaspar.blogspot.com/2008/04/c-copy-file-progress-bar.html

    2.当主画面按下提交后呼叫,刚刚建立的视窗用Form.ShowDialog()方法


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年7月16日 17:31
  • LZ可以参考一下我这个进度条代码 ,这个是导出数据到excel的一段代码

    ProgressBar pgb //声明进度条对象
        //设置进度条
            pgb.Refresh();
            pgb.Visible = true;
            pgb.Minimum = 1;
            pgb.Maximum = dgv.RowCount;
            pgb.Step = 1;
    
            //向Excel中逐行写入表格中数据
            for (int row = 0; row < dgv.RowCount-1; row++)
            {
              pgb.PerformStep();
              displayColumnsCount = 1;
              for (int col = 0; col < colscount; col++)
              {
                try
                {
                  objExcel.Cells[row + 1, displayColumnsCount] = dgv.Rows[row].Cells[col].Value.ToString().Trim();
                  displayColumnsCount++;
                }
                catch (Exception e)
                {
                  Console.WriteLine(e);
                }
              }
              
    
            }
            //隐藏进度条
            pgb.Visible = false;
            //保存文件
            objWorkbook.Saved = false;
    

    2011年7月17日 2:02