private void btnDel_Click(object sender, EventArgs e)
{
if (listView1.SelectedIndices.Count > 0)
{
listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text = "";
listView1.Items[listView1.SelectedIndices[0]].BackColor = Color.White;
}
}这是我在wince上实现的一个删除的功能 ,但是由于点击按钮后 等待时间太久 我现在想这样做 我建了一个新窗体 上面做了一个等待效果 请稍候... 我想利用showdialog 来实现 当这个删除操作未完成时显示这个新窗体 完成后 这个窗体隐藏或者关闭 如何实现?需要多线程吗?
{
if (listView1.SelectedIndices.Count > 0)
{
listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text = "";
listView1.Items[listView1.SelectedIndices[0]].BackColor = Color.White;
}
}这是我在wince上实现的一个删除的功能 ,但是由于点击按钮后 等待时间太久 我现在想这样做 我建了一个新窗体 上面做了一个等待效果 请稍候... 我想利用showdialog 来实现 当这个删除操作未完成时显示这个新窗体 完成后 这个窗体隐藏或者关闭 如何实现?需要多线程吗?
private void FrmClient_Load(object sender, EventArgs e)
{
this.picWait.visible=false;
}
private void btnDelete_Click(object sender, EventArgs e)
{
this.btnDelete.visible=fasle;
this.btnCancel.visible=false;
this.picWait.visible=true;
//执行删除操作
//
//执行完成后
this.btnDelete.visible=true;
this.btnCancel.visible=true;
this.picWait.visible=false;
}
两个窗体的类似,需要用到单态设计模式或观察者模式,也可不用
BOSS不让用图片 只能用新建的窗体 showdialog
在删除窗体中(主窗体),一个删除按钮btnDeleteprivate void btnDelete_Click(object sender, EventArgs e)
{
FrmTips frmTips = FrmTips.GetInstance();
frmTips.ShowDialog();
}提示窗体中,放置一个计时器,间隔设置为2000(我这里只是模拟删除用的时间,你用在你的项目中的时候就不用计时器了),加一个label“正在删除 请稍后!”using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace 提示窗体
{
public partial class FrmTips : Form
{
private static FrmTips frmTips = null;
private FrmTips()
{
InitializeComponent();
}
/// <summary>
/// 单态
/// </summary>
/// <returns></returns>
public static FrmTips GetInstance()
{
object obj = new object();
if (frmTips == null)
{
lock (obj)
{
if (frmTips == null)
{
frmTips = new FrmTips();
}
}
}
return frmTips;
}
/// <summary>
/// 模拟开始删除数据
/// </summary>
public void BeginDelete()
{
this.timer1.Enabled = true;
}
/// <summary>
/// 通过计时器来模拟数据删除成功
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
this.Close();
}
/// <summary>
/// 窗体加载时便开始执行删除数据的方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmTips_Load(object sender, EventArgs e)
{
BeginDelete();
}
}
}
提示窗体中用不用单态都无所谓,项目源文件我放到网站上。
http://u.115.com/file/t17417388e