16.ListBox and StatusStrip
2008-02-25 16:42
148 查看
由于这两个视频所用到的例子相同,所以就合并起来讲。
主要介绍ListBox and StatusStrip两个控件,实现本地显示URL。同时显示进度状态。
1.StatusStrip控件
本控件可以添加split button、processbar、text。而splitbutton又可以添加Menu、CombBox、Text等。
为split button添加单击事件,如果没有选择路径的话,提示输入。
split button代码如下:
private void toolStripSplitButton1_ButtonClick(object sender, EventArgs e)
{
if (toolStripTextBox1.Text.Trim().Length == 0)
{
MessageBox.Show("Please select the path that contains hyperlinks");
return;
}
string selectedDirectory = toolStripTextBox1.Text;
backgroundWorker1.RunWorkerAsync(selectedDirectory);
}
combbox代码如下:
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (toolStripComboBox1.Text)
{
case "My Documents":
toolStripTextBox1.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
break;
case"Desktop":
toolStripTextBox1.Text = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
break;
case"My Favorities":
toolStripTextBox1.Text = Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
break;
default:
toolStripTextBox1.Text = "";
break;
}
}
Menu代码:
private void toolStripMenuItem1_Click_1(object sender, EventArgs e)
{
folderBrowserDialog1.ShowDialog();
toolStripTextBox1.Text = folderBrowserDialog1.SelectedPath;
}
2.ListBox
显示文件或者其它列表。
3.涉及了backgroundWorker、folderBrowserDialog两个控件
backgroundWorker的WorkReportsProgress选择true。
事件添加代码:
rivate void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
string[] fileList = System.IO.Directory.GetFiles(e.Argument.ToString());
string statusText = String.Empty;
int counter = 0;
int progress = 0;
foreach (string currentFiles in fileList)
{
using (System.IO.StringReader sr = new System.IO.StringReader(currentFiles))
{
string line;
line = string.Empty;
while (line != null)
{
line = sr.ReadLine();
if (line.StartsWith("URL="))//确定一个字符串是否以传递的字符串开头。返回布尔值
{
string myValue = line.Substring(4);
try
{
HttpWebRequest mywebRequst = (HttpWebRequest)HttpWebRequest.Create(myValue);
HttpWebResponse myWebResponse = (HttpWebResponse)mywebRequst.GetResponse();
statusText = String.Format("{0}-{1}", myValue, myWebResponse.StatusDescription);
}
catch
{
statusText = String.Format("{0}-{1}", myValue, "404");
}
break;
}
}
}
counter++;
progress = (counter * 100) / fileList.Length;
backgroundWorker1.ReportProgress(progress, statusText);
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
listBox1.Items.Add(e.UserState);
toolStripStatusLabel1.Text = e.UserState.ToString();
toolStripProgressBar1.Value = e.ProgressPercentage;
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
toolStripStatusLabel1.Text = "Finish";
toolStripProgressBar1.Value = 0;
}
4.添加空间
添加命名空间
system.net
主要介绍ListBox and StatusStrip两个控件,实现本地显示URL。同时显示进度状态。
1.StatusStrip控件
本控件可以添加split button、processbar、text。而splitbutton又可以添加Menu、CombBox、Text等。
为split button添加单击事件,如果没有选择路径的话,提示输入。
split button代码如下:
private void toolStripSplitButton1_ButtonClick(object sender, EventArgs e)
{
if (toolStripTextBox1.Text.Trim().Length == 0)
{
MessageBox.Show("Please select the path that contains hyperlinks");
return;
}
string selectedDirectory = toolStripTextBox1.Text;
backgroundWorker1.RunWorkerAsync(selectedDirectory);
}
combbox代码如下:
private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (toolStripComboBox1.Text)
{
case "My Documents":
toolStripTextBox1.Text = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
break;
case"Desktop":
toolStripTextBox1.Text = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
break;
case"My Favorities":
toolStripTextBox1.Text = Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
break;
default:
toolStripTextBox1.Text = "";
break;
}
}
Menu代码:
private void toolStripMenuItem1_Click_1(object sender, EventArgs e)
{
folderBrowserDialog1.ShowDialog();
toolStripTextBox1.Text = folderBrowserDialog1.SelectedPath;
}
2.ListBox
显示文件或者其它列表。
3.涉及了backgroundWorker、folderBrowserDialog两个控件
backgroundWorker的WorkReportsProgress选择true。
事件添加代码:
rivate void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
string[] fileList = System.IO.Directory.GetFiles(e.Argument.ToString());
string statusText = String.Empty;
int counter = 0;
int progress = 0;
foreach (string currentFiles in fileList)
{
using (System.IO.StringReader sr = new System.IO.StringReader(currentFiles))
{
string line;
line = string.Empty;
while (line != null)
{
line = sr.ReadLine();
if (line.StartsWith("URL="))//确定一个字符串是否以传递的字符串开头。返回布尔值
{
string myValue = line.Substring(4);
try
{
HttpWebRequest mywebRequst = (HttpWebRequest)HttpWebRequest.Create(myValue);
HttpWebResponse myWebResponse = (HttpWebResponse)mywebRequst.GetResponse();
statusText = String.Format("{0}-{1}", myValue, myWebResponse.StatusDescription);
}
catch
{
statusText = String.Format("{0}-{1}", myValue, "404");
}
break;
}
}
}
counter++;
progress = (counter * 100) / fileList.Length;
backgroundWorker1.ReportProgress(progress, statusText);
}
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
listBox1.Items.Add(e.UserState);
toolStripStatusLabel1.Text = e.UserState.ToString();
toolStripProgressBar1.Value = e.ProgressPercentage;
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
toolStripStatusLabel1.Text = "Finish";
toolStripProgressBar1.Value = 0;
}
4.添加空间
添加命名空间
system.net
相关文章推荐
- ABAP Subscreen and tabstrip controls (转自CSDN)
- TelephonyManager-get SIM card and network status
- 蓝牙BLE LINK LAYER剖析(一) -- status and channel
- StatusStrip 控件
- HTTP Status 404 - No result defined for action com.cnlive.csp.manage.action.SysGiftAction and result
- MANAGE MAGENTO STORE - MAGENTO ORDER STATUS AND MAGENTO ORDER STATE
- Post a transaction and the appropriate status to the IDoc.
- HTTP Status 404 - No result defined for action and result input
- 16. 26. 3. 装入想要尺寸的图片 Load Image and scale it
- HTTP Status 404 - No result defined for action com.csdhsm.struts.action.LoginAction and result error
- Vbscript SendKeys and Get NumLock ,CapsLock, ScrollLock Key Status
- [yii]Fetch data from database and create listbox in yii
- StatusStrip和ToolStrip关联控件丢失问题
- ToolStripStatusLabel设置时间自动更新
- openfalcon 添加http远程监控 (for status code and for content match)
- Android navigation bar and the status bar
- StatusStrip如何添加分割栏?
- WTL for MFC Programmers, Part III - Toolbars and Status Bars
- scrollbar and listbox on textFrame
- 向ToolStrip、MenuStrip、StatusStrip中添加自定义控件