//实现双击关闭标签
private void tabControl1_DoubleClick(object sender, EventArgs e)
{
if (tabControl1.SelectedIndex > 0)
{
tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex);
}
}
ListView半自动加载
之所以要加个半自动,是因为它是根据选择Item的Index来判断它在Items的占比
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
//避免选择时出错
if (listView1.SelectedItems.Count > 0)
{
//每页25个,开始时自动加载了3页,所以看它是否是在最后一页单击的
if (listView1.SelectedItems[0].Index > listView1.Items.Count - 50)
{
//
System.Threading.Thread th = new System.Threading.Thread(LoadList);
th.IsBackground = true;
th.Start(listView1.Items.Count / 25 + 1);
}
}
}
//获得网页内容
private string GetWebContent(string url)
{
using (System.Net.WebClient client = new System.Net.WebClient())
{
return client.DownloadString(url);
}
}
带参数的多线程另类建立方式,利用了Lambda
//()=>线程方法(实参)
System.Threading.Thread th1 = new System.Threading.Thread(() => LoadPage(tabControl1.TabPages[tabControl1.TabPages.Count - 1], url));
th1.SetApartmentState(System.Threading.ApartmentState.STA);
th1.IsBackground = true;
th1.Start();