这是窗体界面图下面是删除按钮里面的代码 private void del_fm_Click(object sender, EventArgs e)
{
int id = Convert.ToInt32(((Button)sender).Tag);
bool num = new BLL_NetworManagement.BLL_FMmodulator().Delete(id);
if (num)
{
this.Invalidate();
//this.Refresh();
MessageBox.Show("删除成功");
}
else
{
MessageBox.Show("删除失败");
}
}C#重新加载窗体
{
int id = Convert.ToInt32(((Button)sender).Tag);
bool num = new BLL_NetworManagement.BLL_FMmodulator().Delete(id);
if (num)
{
this.Invalidate();
//this.Refresh();
MessageBox.Show("删除成功");
}
else
{
MessageBox.Show("删除失败");
}
}C#重新加载窗体
解决方案 »
- c# socket 异步 问题!!!!!!!!!!
- 用DirectSound来播放音乐,怎么判断音乐是否播放结束或设置一个通知,来通知结束
- 含有html标签的字符串,如何在winform中显示?
- 如何用C#读取手机联系人(包括sim卡的)!!!
- winform中怎样创建一个类的问题
- 谁知道UInt64怎么转换为二进制
- [100分] 某些函数名上带个中扩号属性是什么意思 ? (例如 [STAThread] 这样)
- 请求的范围扩展超过了数组的结尾。 大家能说说怎么回事吗
- vs.net设置中的问题。。问题清楚、是个好题目
- 在lable的borderstyle里添加一个四个角是圆弧的正方形边框。
- 我想用一个窗体打开一个新的窗体,然后这个窗体隐藏,等新窗体关闭的时候,在显示出来,怎么实现?
- 如何根据XML(或其他存储方式)动态生成一个对象(求大神)
我把加载数据代码写在 Info方法中,在窗体加载的时候调用,点击删除按钮后也调用,调试窗体有重新加载过,但窗体的界面还是没变,这是为什么?
#region 删除
private void del_CC_Click(object sender, EventArgs e)
{
int id = Convert.ToInt32(((Button)sender).Tag);
bool num = new BLL_NetworManagement.BLL_CodingController().Delete(id);
if (num)
{
Info();
//MessageBox.Show("删除成功");
////this.Maintenance_Load(sender, e);
//this.Invalidate();
}
else
{
MessageBox.Show("删除失败");
}
}
public void Info()
{
BLL_NetworManagement.BLL_CodingController _control = new BLL_NetworManagement.BLL_CodingController();
list_Control = _control.GetControlList(); #region 编码控制器设备 groupbox = new GroupBox();
groupbox.Text = "编码控制器";
groupbox.Location = new Point(20, 20);
groupbox.Size = new Size(530, 186);
groupbox.BackColor = Color.Transparent;
this.Controls.Add(groupbox); count = list_Control.Count;
gc = groupbox.CreateGraphics();
groupbox.Paint += RenderRectangle; for (int i = 0; i < list_Control.Count; i++)
{
CodingController controller = new CodingController();
controller = (CodingController)list_Control[i]; System.DateTime curr_time = System.DateTime.Now;
string tt = curr_time.ToString();
Label label = new Label();
label.Text = tt;
label.Location = new Point(30 + 170 * i, 60);
label.Size = new Size(160, 20);
label.BackColor = Color.Transparent;
this.Controls.Add(label);
label.BringToFront(); Label label_a = new Label();
if (controller.CC_WorkState == 0)
{
label_a.Text = "系统待机 ⊙";
}
else
{
label_a.Text = "日常广播 ⊙";
}
label_a.Location = new Point(50 + 166 * i, 90);
label_a.Size = new Size(140, 20);
label_a.BackColor = Color.Transparent;
this.Controls.Add(label_a);
label_a.BringToFront(); Button btn = new Button();
btn.Text = "查看";
btn.Tag = controller.CC_ID;
btn.Location = new Point(30 + 170 * i, 126);
btn.Size = new Size(48, 22);
btn.Click += showEquipment_CC_Click;
btn.BackColor = Color.Transparent;
this.Controls.Add(btn);
btn.BringToFront(); if (Public.loginInfo.USER_FLAG == 1)
{
Button btn_del = new Button();
btn_del.Text = "删除";
btn_del.Tag = controller.CC_ID;
btn_del.Location = new Point(90 + 170 * i, 126);
btn_del.Size = new Size(48, 22);
btn_del.Click += del_CC_Click;
btn_del.BackColor = Color.Transparent;
this.Controls.Add(btn_del);
btn_del.BringToFront();
}
}
#endregion}
我调用窗体界面还是没变化,调试发现的确是运行了,窗体上的数据却纹丝不动。这是为什么? list_Control = _control.GetControlList();
是这句么 获取后台数据的。
我调用窗体界面还是没变化,调试发现的确是运行了,窗体上的数据却纹丝不动。这是为什么? list_Control = _control.GetControlList();
是这句么 获取后台数据的。是的。
我调用窗体界面还是没变化,调试发现的确是运行了,窗体上的数据却纹丝不动。这是为什么? list_Control = _control.GetControlList();
是这句么 获取后台数据的。是的。
那就再get一次 然后绑定数据源 就可以了呀。
应该是先生成新的,后删除旧的,再显示成功。
因为你先delete了,事件都不存在了。
您好! Info实现我发上去了,你帮我支支高招。 (就想点删除按钮,删除一条数据后,窗体上会减少一条数据)
我一个for循环生成3个用户控件,但它们创建的时候所用对象都一样,我用ReMove方法会把它们都删除了,
主要用到了FlowLayoutPanel控件和用户控件。前者用于动态布局容器内控件的排放,不用你写代码控制容器内控件的位置;后者是用户自定义控件,把容器内的项视为一个个小整体,而不是你现在手动把需要的控件一个个添加上去。
用户控件using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing;namespace Test
{
public partial class Controller : UserControl
{
private Label lblTime;
private Label lblSysStatus;
private RadioButton rbtnSysStatus;
private Button btnLookup;
private Button btnDelete; public event EventHandler Lookup;
public event EventHandler Delete; public string SysTime
{
get { return lblTime.Text; }
set { lblTime.Text = value; }
}
public string SysStatusMsg
{
get { return lblSysStatus.Text; }
set { lblSysStatus.Text = value; }
}
public bool SysStatus
{
get { return rbtnSysStatus.Checked; }
set { rbtnSysStatus.Checked = value; }
} public Controller()
{
InitializeComponent(); SetupControl();
} //可以直接在IDE布局这些控件,这里用于讲解
private void SetupControl()
{
this.SuspendLayout();
lblTime = new Label();
lblTime.Name = "lblTime";
lblTime.Location = new Point(10, 20); lblSysStatus = new Label();
lblSysStatus.Name = "lblSysStatus";
lblSysStatus.Location = new Point(10, 50); rbtnSysStatus = new RadioButton();
rbtnSysStatus.Name = "rbtnSysStatus";
rbtnSysStatus.Text = "";
rbtnSysStatus.Location = new Point(80, 45); btnLookup = new Button();
btnLookup.Name = "btnLookup";
btnLookup.Text = "查看";
btnLookup.Width = 50;
btnLookup.Location = new Point(10, 90);
btnLookup.Click += new EventHandler(btnLookup_Click); btnDelete = new Button();
btnDelete.Name = "btnDelete";
btnDelete.Text = "删除";
btnDelete.Width = 50;
btnDelete.Location = new Point(70, 90);
btnDelete.Click += new EventHandler(btnDelete_Click); this.Controls.Add(lblTime);
this.Controls.Add(rbtnSysStatus);
this.Controls.Add(lblSysStatus);
this.Controls.Add(btnLookup);
this.Controls.Add(btnDelete); this.BorderStyle = BorderStyle.FixedSingle;
this.BackColor = Color.LightSkyBlue; this.ResumeLayout();
} private void btnLookup_Click(object sender, EventArgs e)
{
OnLookup(e);
} private void btnDelete_Click(object sender, EventArgs e)
{
OnDelete(e);
} private void OnDelete(EventArgs e)
{
EventHandler temp = Delete;
if (temp != null)
temp(this,e);
} private void OnLookup(EventArgs e)
{
EventHandler temp = Lookup;
if (temp != null)
temp(this, e);
}
}
}
界面using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;namespace Test
{
public partial class Form1 : Form
{
FlowLayoutPanel controllers; public Form1()
{
InitializeComponent(); SetupControl();
} private void SetupControl()
{
controllers = new FlowLayoutPanel();
controllers.AutoScroll = true;
controllers.Dock = DockStyle.Fill;
controllers.BackColor = Color.LightSkyBlue;
groupBox1.Controls.Add(controllers); LoadControllers();
} //可以从数据库读取数据进行绑定
private void LoadControllers()
{
for (int i = 0; i < 15; i++)
{
Controller ctler = new Controller();
ctler.Name = i.ToString();
ctler.SysTime = DateTime.Now.ToString();
ctler.SysStatusMsg = "系统待机";
ctler.SysStatus = i % 2 == 0 ? true : false;
ctler.Lookup += new EventHandler(ctler_Lookup);
ctler.Delete += new EventHandler(ctler_Delete); controllers.Controls.Add(ctler);
}
} //删除,从容器移除它
private void ctler_Delete(object sender, EventArgs e)
{
Controller ctler = sender as Controller;
if (ctler != null)
{
if (controllers.Controls.Contains(ctler))
controllers.Controls.Remove(ctler);
}
}
//可以处理查看功能
private void ctler_Lookup(object sender, EventArgs e)
{
MessageBox.Show((sender as Controller).Name);
}
}
}