C#2003 WINFORM 常用代码(一)
private void ItemSel(bool IsSel)
{
for(int i=0;i<listVPurview.Items.Count;i++)
{
ListViewItem li = listVPurview.Items[i];
if(IsSel)
li.Checked = true;
else
li.Checked = false;
}
}
---------------------------------------------------------------------------------------------------
if(this.listVRole.SelectedItems.Count <= 0)return;
if(RoleContent == "") return;
ListViewItem li = listVRole.SelectedItems[0];
FRoleMachineGroup MachineGroup = new FRoleMachineGroup();
MachineGroup.FroleId = li.Tag.ToString();
------------------------------------------------------------------------------------------------------
private void txtFWorkAge_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if((e.KeyChar<'0'||e.KeyChar>'9')&&e.KeyChar!=13&&e.KeyChar!=8)
{
e.Handled=true;
MessageBox.Show("您只能输入数字,不能输入其它字符!","提示信息",MessageBoxButtons.OK ,MessageBoxIcon.Information);
}
}
------------------------------------------------------------------------------------------------------
private void ControlBind()
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("FName");
dt.Columns.Add(dc1);
DataColumn dc2 = new DataColumn("FValue");
dt.Columns.Add(dc2);
DataRow dr = dt.NewRow();
dr[0] = "程序名";
dr[1] = "FNAME";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0]="文件名";
dr[1] = "FPROGRAMNAME";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0]="添加人";
dr[1] = "FCREATENAME";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "图号";
dr[1] = "FPRODECE";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0]="添加时间";
dr[1] = "FTIME";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "版本号";
dr[1] = "FEDITION";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "机床";
dr[1] = "FMACHINE";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "说明";
dr[1] = "fdesc";
dt.Rows.Add(dr);
this.comboBox1.DisplayMember = dt.Columns["FName"].ToString();
this.comboBox1.ValueMember = dt.Columns["FValue"].ToString();
this.comboBox1.DataSource = dt;
--------------------------------------------------------------------------------------------------------------
private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if( this.comboBox1.SelectedValue.ToString() == "FTIME")
{
string[] IColl = new string[3]{">","=","<"};
this.comboBox2.Items.Clear();
this.comboBox2.Items.AddRange(IColl);
this.dtimeP.BringToFront(); //dtimeP datatimepicker控件置前
}
else
{
comboBox2.Items.Clear();
comboBox2.Items.Add("=");
this.textBox1.BringToFront();//textBox1控件置前
}
}
-----------------------------------------------------------------------------------------------------------------
DateTime dtime = this.dtimeP.Value;
FValue = String.Format("{0:yyyy-MM-dd}",dtime);
MessageBox.Show(this.comboBox1.Text.Trim() + "信息没有填写,\r\n\r\n无法检索程序!","信息提示!");
public bool sqltransaction(string sqlbuilding)
{
SqlConnection Cn=DbConnect();
Cn.Open();
SqlTransaction transaction=Cn.BeginTransaction();
string[] sql=new string[sqlbuilding.Length];
sql=sqlbuilding.Split('&');
try
{
for(int i=0;i<sql.Length;i++)
{
SqlCommand commandinsert=new SqlCommand(sql[i].ToString(),Cn);
commandinsert.Transaction=transaction;
commandinsert.ExecuteNonQuery();
}
transaction.Commit();
return true;
}
catch
{
transaction.Rollback();
return false;
}
}
public SqlConnection DbConnect()
{
SqlConnection Cn = new SqlConnection(Scn);
return Cn;
}
public void DBsubmit(string SQL)
{
SqlConnection Cn = new SqlConnection(Scn);
Cn.Open();
SqlCommand sqlupdate=new SqlCommand(SQL,Cn);
sqlupdate.ExecuteNonQuery();
Cn.Close();
}
#region Rtdbtable
public DataTable Rtdbtable(string SQL,string Stablename)
{
DataTable DT = new DataTable();
if(Stablename!="none")
{
SqlDataAdapter SQLAdap=new SqlDataAdapter(SQL,DbConnect());
DataSet ST = new DataSet();
SQLAdap.Fill(ST,Stablename);
DT=ST.Tables[0];
}
return DT;
}
#endregion
#region Rtdbtable
public DataTable GetDataTable(string SQL)
{
DataTable DT = new DataTable();
SqlDataAdapter SQLAdap=new SqlDataAdapter(SQL,DbConnect());
DataSet ST = new DataSet();
SQLAdap.Fill(ST);
DT=ST.Tables[0];
return DT;
}
public int rowcount(string tablename)/////////////返回对应表的记录数
{
int rowcount=0;
tablename="select count(*) from "+tablename+" where Fisdelete like '1%'";
SqlConnection Cn = new SqlConnection(Scn);
Cn.Open();
SqlCommand sqlupdate=new SqlCommand(tablename,Cn);
sqlupdate.ExecuteNonQuery();
rowcount=(int)sqlupdate.ExecuteScalar();
return rowcount;
}
--------------------------------------------------------------------------------------------------------------------
private void SendMachineSel_Load(object sender, System.EventArgs e)
{
if(FMachineFid.Length <= 0)
{
this.Close();
}
PbaseUpdate Pbase = new PbaseUpdate();
string sql = "select FGROUPFID from DNC_SYS_MACHINE where fid='"
+ FMachineFid + "'";
this.listView1.CheckBoxes = true;
Object Obj = Pbase.ExecuteSql(null,sql,rulebase.SqlResultEnum.Have);
if(Obj != System.DBNull.Value)
{
sql = "select * from DNC_SYS_MACHINE where FGROUPFID = '"+Obj.ToString()+"'";
DataTable dt = Pbase.GetDatetable(null,sql);
if(dt.Rows.Count > 0 )
{
ListViewItem[] liConn = new ListViewItem[dt.Rows.Count];
for(int i=0;i<dt.Rows.Count;i++)
{
string NeedReturn = "程序需要返回";
if(dt.Rows[i]["FPROGRAMRETURN"].ToString() == "1")
NeedReturn = "程序不需要返回";
string[] stritem = new string[5]{
dt.Rows[i]["FNAME"].ToString(),
dt.Rows[i]["FRMARTSTART"].ToString(),
dt.Rows[i]["FRMARTROW"].ToString(),
NeedReturn,
dt.Rows[i]["fdesc"].ToString()
};
ListViewItem list = new ListViewItem(stritem);
list.ImageIndex = 0;
list.StateImageIndex=1;
if(dt.Rows[i]["fid"].ToString() == FMachineFid)
list.BackColor = Color.SlateGray;
list.Tag = dt.Rows[i]["Fid"];
this.listView1.Items.Add(list);
}
}
}
else
{
this.Close();
}
}
-------------------------------------------------------------------------------------------
private void button1_Click(object sender, System.EventArgs e)
{
string FMachine = "";
int ii = 0;
for(int i=0;i<this.listView1.Items.Count;i++)
{
ListViewItem li = this.listView1.Items[i];
if(li.Checked)
{
ii++;
FMachine = FMachine + li.Tag.ToString() + '|' + li.SubItems[0].Text.Trim()+'*';
}
}
if(FMachine.Length <= 0)
{
DialogResult Result = MessageBox.Show("没有选择需要下发的机床,是否取消本次程序下发业务?",
"兰光科技!",MessageBoxButtons.OKCancel,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2);
if(Result == DialogResult.OK)
{
FMachineFid = "";
this.Close();
}
}
else
{
MessageBox.Show("本次将此程序下发:"+ii.ToString()+"机床。","兰光科技!");
FMachineFid = FMachine.Substring(0,FMachine.Length-1);
this.Close();
}
}
private void listView1_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e)
{
ListViewItem li = (ListViewItem)sender;
if(e.CurrentValue == CheckState.Checked)
{
li.Selected = true;
}
else
li.Selected = false;
}
----------------------------------------------------------------------------------------------------
private void FMachineGroup_Load(object sender, System.EventArgs e)
{
PbaseUpdate Pbase = new PbaseUpdate();
if(FroleFid == "")
{
this.Close();
}
else
{
string sql = "select fid,FMachineGroupFid,FPLANTFID,FCONTENT from DNC_SYS_ROLE where fid='"
+ FroleFid + "'";
DataTable dt = Pbase.GetDatetable(null,sql);
if(dt == null)return;
if(dt.Rows.Count <= 0)return;
if(RoleContent.IndexOf("Btn_SetMachGroup") != -1)
button1.Enabled = true;
else
button1.Enabled = false;
string FGroupFid = dt.Rows[0]["FMachineGroupFid"].ToString();
sql = "select fid,fname,ftime from DNC_SYS_MACHINEGROUP where FPlantfid='"
+ dt.Rows[0]["FPLANTFID"].ToString().Trim() + "'";
dt = Pbase.GetDatetable(null,sql);
if(dt.Rows.Count <= 0)return;
for(int i = 0;i<dt.Rows.Count;i++)
{
string[] str = new string[2]{dt.Rows[i]["fname"].ToString().Trim(),dt.Rows[i]["ftime"].ToString()};
ListViewItem li = new ListViewItem(str,0);
li.StateImageIndex = 1;
string GroupFid = dt.Rows[i]["Fid"].ToString();
if(FGroupFid.IndexOf(GroupFid) != -1 || FGroupFid == "%")
{
li.Checked = true;
li.BackColor = Color.Silver;
}
else
li.Checked = false;
li.Tag = dt.Rows[i]["Fid"].ToString();
this.listView1.Items.Add(li);
}
}
}
--------------------------------------------------------------------------------------
private void listView1_DoubleClick(object sender, System.EventArgs e)
{
ListViewItem li = this.listView1.SelectedItems[0];
this.listView2.Items.Clear();
string sql="select fname,FRMARTSTART,FRMARTROW,fdesc,ftime from dnc_sys_machine where fgroupfid like '"+li.Tag+"%'";
PbaseUpdate Pbase = new PbaseUpdate();
DataTable dt = Pbase.GetDatetable(null,sql);
if(dt.Rows.Count>0)
{
for(int i=0;i<dt.Rows.Count;i++)
{
string[] str = new string[5]
{
dt.Rows[i]["fname"].ToString(),
dt.Rows[i]["FRMARTSTART"].ToString(),
dt.Rows[i]["FRMARTROW"].ToString(),
dt.Rows[i]["fdesc"].ToString(),
dt.Rows[i]["ftime"].ToString()
};
ListViewItem list = new ListViewItem(str,2);
list.ImageIndex=3;
list.ForeColor = Color.Green;
this.listView2.Items.Add(list);
}
}
}
-----------------------------------------------------------------------------------------------------
sql = string.Format("INSERT INTO ProgramInfo(ProgramName, InsTime, Note) VALUES('{0}','{1}','{2}')", tProgramName.Text.Trim(), DateTime.Now, tNote.Text.Trim());
sql = string.Format("UPDATE ProgramInfo SET ProgramName='{0}', InsTime='{1}', Note='{2}' WHERE ProgramID='{3}'", tProgramName.Text.Trim(), DateTime.Now, tNote.Text.Trim(), id);
listView1控件的VIEW属性应该为detail属性时,才会显示listview的头信息.
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
tProgramName.Text = listView1.SelectedItems[0].SubItems[0].Text;
dInsTime.Text = listView1.SelectedItems[0].SubItems[1].Text;
tNote.Text = listView1.SelectedItems[0].SubItems[2].Text;
}
}
private void btndel_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
string result = null;
object id = listView1.SelectedItems[0].Tag;
sql = string.Format("DELETE FROM ProgramInfo WHERE ProgramID='{0}'", id);
int i = com.UpdateData(sql, out result);
if (i >= 1)
{
MessageBox.Show("程序删除成功");
}
private void DataBindPageProgramInfo()
{
listView1.Items.Clear();
DataSet ds = new DataSet();
ds = com.GetData("Select * From ProgramInfo");
if (ds != null)
{
if (ds.Tables.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
ListViewItem lvi = new ListViewItem();
lvi.Tag = row["ProgramID"];
lvi.SubItems.Add(row["ProgramName"].ToString());
lvi.SubItems.Add(row["InsTime"].ToString());
lvi.SubItems.Add(row["Note"].ToString());
lvi.SubItems.RemoveAt(0);
listView1.Items.Add(lvi);
}
}
}
//listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
}
TreeNode SelNode =TrPruductStruct.SelectedNode;
if(SelNode==null)
{
MessageBox.Show("没有选中节点,系统无法确认,请重新选择!","信息提示");
return;
}
////////////////
if(SelNode.Parent == null)
{
MessageBox.Show("根节点不允许添加程序!","信息提示");
return;
}
-------------------------------------------------------------------------------------------------
/// <summary>
/// 查看登陆系统机器的IP地址
/// </summary>
/// <returns></returns>
public IPAddress GetTcpip()
{
System.Net.IPHostEntry ipHostInfo=System.Net.Dns.Resolve(System.Net.Dns.GetHostName());
return ipHostInfo.AddressList[0];
}
public object UpdateMiddTable(IConnection Cn,Byte[] buff,string Fid,bool Judge)
{
if(Fid==null || Fid=="" || buff.Length<=0) return null;
string sql="";
if(!Judge)
sql = "update DNC_PRODUCTPROGRAM_CODE set FCODE =:byte where FID=:fid";
else
sql = "insert into DNC_PRODUCTPROGRAM_CODE(fid,FCODE) values(:fid,:byte)";// where Fid=:fid";
if(Connection.strCon.Length <= 0)
{
Connection.strCon = GetConf("ConnectionString");
}
OracleConnection OraConn = new OracleConnection(Connection.strCon);
try
{
try
{
OraConn.Open();
}
catch(Exception ex)
{
throw ex;
}
OracleCommand OraCommand = new OracleCommand(sql,OraConn);
OraCommand.CommandType=CommandType.Text;
OraCommand.CommandText=sql;
OraCommand.Parameters.Add("byte",System.Data.OracleClient.OracleType.Blob,buff.Length);
OraCommand.Parameters.Add("fid",System.Data.OracleClient.OracleType.VarChar,Fid.Length);
OraCommand.Parameters[0].Value=buff;
OraCommand.Parameters[1].Value=Fid;
try
{
return OraCommand.ExecuteNonQuery();
}
catch(Exception ex)
{
throw ex;
}
}
catch(Exception ex)
{
throw ex ;
}
finally
{
OraConn.Dispose();
--------------------------------------------------------------------------------------------------
public string BuildSqlbyDict( IConnection Cn, IDictionary dict,SqlOptTypeEnum type,string EntityName,string Condition )
{
if ( dict == null && type!=SqlOptTypeEnum.Delete )
return "";
StringBuilder strSql=new StringBuilder();
switch ( type )
{
case SqlOptTypeEnum.Delete:
strSql.Append(" Delete from ");
strSql.Append(EntityName);
strSql.Append(" where ");
strSql.Append(Condition);
break;
case SqlOptTypeEnum.Insert:
strSql.Append(" Insert Into ");
strSql.Append( EntityName );
strSql.Append(" (");
foreach (string Field in dict.Keys)
{
AppendFieldstr(strSql,Field,false,false);
}
strSql.Remove(strSql.Length-1,1);
strSql.Append(" ) Values ( ");
foreach (object val in dict.Values)
{
AppendValuestr( Cn, strSql,val,false);
}
strSql.Remove(strSql.Length-1,1);
strSql.Append(" ) ");
break;
case SqlOptTypeEnum.Update:
strSql.Append(" Update ");
strSql.Append( EntityName );
strSql.Append(" Set ");
IEnumerator ekey=dict.Keys.GetEnumerator();
IEnumerator eval=dict.Values.GetEnumerator();
ekey.MoveNext();
eval.MoveNext();
for ( int j=0;j<dict.Count;j++)
{
AppendFieldstr(strSql,ekey.Current,false,true);
AppendValuestr( Cn, strSql,eval.Current,false);
ekey.MoveNext();
eval.MoveNext();
}
strSql.Remove(strSql.Length-1,1);
strSql.Append(" Where ");
strSql.Append(Condition);
break;
case SqlOptTypeEnum.Select:
strSql.Append(" Select ");
foreach (string Filed in dict.Keys)
{
AppendFieldstr(strSql,Filed,false,false);
}
strSql.Append(" From ");
strSql.Append(EntityName);
strSql.Append(" where ");
strSql.Append(Condition);
break;
default:
break;
}
return strSql.ToString();
}
-------------------------------------------------------------------------------------------------------
private static void CreateCn( ref IConnection Cn, ref bool isExistCn )
{
if( Cn == null )
{
Cn = new Connection();
// Cn = new IConnection();
if( Cn.State != ConnectionState.Open )
{
try
{
Cn.Open();
}
catch(Exception ex)
{
throw ex;
}
}
isExistCn = true;
}
else
{
if( Cn.State != ConnectionState.Open )
{
try
{
Cn.Open();
}
catch(Exception ex)
{
throw ex;
}
isExistCn = true;
}
}
--------------------------------------------------------------------------------------------------------
private void DisposeAdapter(IDbDataAdapter adapter)
{
if ( adapter !=null )
{
switch(m_DatabaseType)
{
case DatabaseTypeEnum.SQLServer:
SqlDataAdapter sc=(SqlDataAdapter)adapter;
sc.Dispose();
break;
case DatabaseTypeEnum.Oracle:
OracleDataAdapter oc=(OracleDataAdapter)adapter;
oc.Dispose();
break;
case DatabaseTypeEnum.Oledb:
OleDbDataAdapter olc=(OleDbDataAdapter)adapter;
olc.Dispose();
break;
default:
olc=(OleDbDataAdapter)adapter;
olc.Dispose();
break;
}
}
---------------------------------------------------------------------------------------------------------------