首页 > 代码库 > C#一些小知识点

C#一些小知识点

1. 在Load时候由代码来做控件PictureBox,并且用代码将图片加载进去:

 private void Form2_Load(object sender, EventArgs e)        {            DirectoryInfo dir = new DirectoryInfo(@"F:\image\car");            FileInfo[] files = dir.GetFiles("*.jpg");            foreach (FileInfo f in files)            {                //造PictureBox                PictureBox pb = new PictureBox();                //加载图片                pb.Image = Image.FromFile(f.FullName);                //设置图片框大小                pb.Size = new System.Drawing.Size(100, 80);                //设置缩放                pb.SizeMode = PictureBoxSizeMode.Zoom;                //加到流式布局控件中去                flowLayoutPanel1.Controls.Add(pb);                //给图片框加上click事件                pb.Click +=pb_Click;            }        }

2. 关于事件,sender是指事件源,比如在PictureBox上加的点击事件,则事件源就是该PictureBox,sender是个object类型,所以要强转一下。E是事件数据,EventArgs是事件数据的基类。

 private void pb_Click(object sender, EventArgs e)        {            picShow.Image = ((PictureBox)sender).Image;        }

3. 代码加事件,去事件

 pb.Click +=pb_Click;  去事件用”-=”,加完事件之后Tab键生成。

4.   #region 这是自定义的工具函数

     #region 这是自定义的工具函数     中间一般将自己写的工具函数(供其他函数调用的)包在中间,这样能使代码更清晰。     #endregion

5. 关闭程序

Application.Exit();是整个应用程序结束,比this.close()更直接。This.close();是关闭窗口导致程序结束。

6. 在一个图片上面的指定位置写文字:

            //加载图像            Image img = Image.FromFile(@"E:\cyl.jpg");            Graphics g = Graphics.FromImage(img);            //写字            string s = "http://www.ITNBA.COM";            Font font = new System.Drawing.Font("隶书", 14, FontStyle.Italic);            SolidBrush brush = new SolidBrush(Color.Blue);            g.DrawString(s, font, brush, 10, 10);                        //保存            img.Save(@"E:\cyl0.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

7. 测定一个字符串的宽和高:

           //测定字体的宽与高            SizeF size = g.MeasureString(s,font);            size.Width是测量出的字符串的宽度            ssize.Height是测量出的字符串的高度

8. 在一个图片上画上另一个图片(加水印)。

           //加载图像            Image img = Image.FromFile(@"E:\cyl.jpg");//目标图像            Image wm = Image.FromFile(@"E:\bbb.gif");//要加的水印            //取得画板            Graphics g = Graphics.FromImage(img);            //画图像            g.DrawImage(wm, 10, 10);            //保存图片            img.Save(@"E:\cyl2.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

9. 将图片放进数据库   

            //取出文本框中代号            string code = textBox1.Text;            //将图片变为字节数组读入内存            FileStream stream = new FileStream(fileName, FileMode.Open);            byte[] picture = new byte[stream.Length];            stream.Read(picture, 0, picture.Length);            stream.Close();            //将图片的字节数组放进数据库存储            PictureTableAdapter adapter = new PictureTableAdapter();            adapter.AddPicture(code, picture);

10. 将图片从数据库取出

            //从数据库取图片            MyDB.PictureDataTable table = new PictureTableAdapter().GetDataByCode(textBox1.Text);            if (table.Rows.Count > 0)            {                //用数组接收                byte[] b = table[0].Pic;                //将图片写入硬盘                FileStream stream = new FileStream(@"D:\test.jpg", FileMode.Create);                stream.Write(b, 0, b.Length);                stream.Close();

 

C#一些小知识点