关闭程序用哪个方法好
This.close();只关闭当前窗口,不关非主线程 Application.exit();关闭所有窗体,不关非主线程 Application.exitthread();不关非主线程 System.environment.thread();关闭一切
遍历所有控件并找到textbox
foreach (Control cur in Controls)//遍历所有控件找出textbox加换行 { if (cur is TextBox && cur.Text.Length <=2) { cur.Text = ""; } else if (cur is TextBox && cur.Text.Length > 5) cur.Text =" "+ cur.Text + "\n"; }
button随机跳动不让鼠标碰到
private void button3_MouseEnter(object sender, EventArgs e) { int x = this.ClientSize.Width - button3.Width; int y = this.ClientSize.Height - button3.Height; Random r = new Random(); button3.Location = new Point(r.Next(0, x + 1), r.Next(0, y + 1)); }
引用mysqlclient连接mysql数据库并把查询放到dgv里(查)
ps:DataSet与DataAdapter对象读取数据前不需要手动写代码连接数据库,会自动识别,若数据库连接没开,则开启,如果没有关闭,则自动关闭。
string strconn = "server=localhost;Database=world;port=3306;User Id=root;Password=pass"; MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(strconn); conn.Open(); string sql = "select* from city"; //MySqlCommand comm = new MySqlCommand(sql, conn); MySqlDataAdapter ad = new MySqlDataAdapter(sql, conn); DataTable ds = new DataTable(); ad.Fill(ds); dataGridView1.DataSource = ds; conn.Close();conn.Dispose();
从datatable改变数据update到mysql里
MySqlDataAdapter ad = new MySqlDataAdapter(sql, conn); MySqlCommandBuilder cb = new MySqlCommandBuilder(ad); ds.Tables["cityy"].Rows[0]["population"] = 1991; ad.Update(ds, "cityy");
直接用sql修改DB(增删改)
MySqlCommand cmd = new MySqlCommand(sql, conn); try { cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); }
基本冒泡排序
int[] a = { 1, 3, 2,4,9,6,5,7,22 }; for(int i=0;i<a.Length-1;i++) { for (int j = 0; j < a.Length - 1-i; j++) { if (a[j] > a[j+1]) { a[j] = a[j+1] + a[j]; a[j + 1] = a[j] - a[j + 1]; a[j] = a[j] - a[j + 1]; } } } foreach (var i in a) { textBox1.Text += i.ToString()+","; }
使用图片查看器或画图全屏打开相应jpg图片
private void button_Click(object sender, RoutedEventArgs e) { System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = @"C:\Users\DELL-KEVIN\Pictures\Camera Roll\ironman.png"; process.StartInfo.Arguments = "rundll32.exe C://WINDOWS//system32//shimgvw.dll,ImageView_Fullscreen"; process.StartInfo.UseShellExecute = true;//此项为是否使用Shell执行程序,因系统默认为true,此项也可不设,但若设置必须为true process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//窗体显示样式 //System.Diagnostics.Process.Start("mspaint.exe", @"C:\ironman.png"); process.Start(); process.Close();//可以不写 }
把每一笔操作写入日志文件
public void WriteLog(string msg) { string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log";//appdomain在解决方案debug下,当然也可以在别的地方 if (!Directory.Exists(filePath))//LOG文件夹是否存在,如果不存在 { Directory.CreateDirectory(filePath);//生成文件夹 } string logPath = AppDomain.CurrentDomain.BaseDirectory + "Log\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";//文本文件名 try { using (StreamWriter sw = File.AppendText(logPath)) { sw.WriteLine("消息:" + msg);//将后跟行结束符的字符串写入文本字符串或流 sw.WriteLine("时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));//将后跟行结束符的字符串写入文本字符串或流 sw.WriteLine("**************************************************");//将后跟行结束符的字符串写入文本字符串或流 sw.WriteLine(); //将行结束符的字符串写入文本字符串或流。 sw.Flush();//清理当前写入器的所有缓冲区,并使所有缓冲数据写入基础流 sw.Close();//关闭当前 StreamWriter 对象和基础流 sw.Dispose(); //释放由 TextWriter 对象使用的所有资源。 } } catch (IOException e)//出现错误的写入方法 { using (StreamWriter sw = File.AppendText(logPath)) { sw.WriteLine("异常:" + e.Message); sw.WriteLine("时间:" + DateTime.Now.ToString("yyy-MM-dd HH:mm:ss")); sw.WriteLine("**************************************************"); sw.WriteLine(); sw.Flush(); sw.Close(); sw.Dispose(); } } }