Winform-Controls

Winform-Controls

0.General

属性名描述
TextAlign文本对其方式
Enabled是否可用
visible是否可见
Anchor自适应窗体实现

注意事项:

当自动生成控件时候,需要设置Autozie属性为true,要不然Text显示不全。

1.Form

1.1常用属性
        // 1.启动位置
        this.StartPosition = FormStartPosition.CenterScreen; 
        this.ShowIcon = false; //2.不显示Icon
        //4.当敲击键盘Esc键是所触发的Button
        this.CancelButton = btnTest; 
        //5.是否显示最大化、最小化、关闭按钮
        this.ControlBox = false; 
        //6.窗体透明度,取值范围 0.0 -> 1.0
        this.Opacity = 0.6;  
        //7.如果把窗体的KeyPreview属性设为True,那么窗体将比其内的控件优先获得键盘事件的激活权。
         this.KeyPreview = true;
        //8.窗体的显示方式,最大化或者最小化..
        this.WindowState = FormWindowState.Minimized; 
1.2 自定义窗体拖动标题栏

注意:代码是写在标题Panel的事件中

    int x;
    int y;
    private void pTitle_MouseDown(object sender, MouseEventArgs e)
    {
        x = e.X;
        y = e.Y;
    }
    private void pTitle_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            //计算方式:当前位置加上移动距离
            this.Location = new Point(this.Location.X + (e.X - x), this.Location.Y + (e.Y - y));
        }
    }
1.3 是否退出系统提示
   private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
   {
       if (MessageBox.Show("Are you sure to exit the system?","Prompt", MessageBoxButtons.YesNo)== DialogResult.No)
       {
           //Cancel表示是否取消当前事件,当点击No时则取消
           e.Cancel = true; 
       }
   }

2.TextBox

2.1 自动补充
    string[] data = { "1", "123", "111133", "123", "1222", "12334", "2222" };
    txt.AutoCompleteSource = AutoCompleteSource.CustomSource; //设置数据源类型
    txt.AutoCompleteCustomSource.AddRange(data); //添加数据源
    txt.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //自动完成类型

3.

4.CheckedListBox

4.1 常用属性
   // 1.点击文本后选中
   this.clb.CheckOnClick = true; 
4.2 全选
      if (cbAll.Checked)
      {
          for (int i = 0; i < clb.Items.Count; i++)
              clb.SetItemChecked(i,true);
      }
      else
      {
          for (int i = 0; i < clb.Items.Count; i++)
              clb.SetItemChecked(i, false);
      }
4.3 反选
    for (int i = 0; i < clb.Items.Count; i++)
        clb.SetItemChecked(i, !clb.GetItemChecked(i));

4.4获取选中文本/值

  string str1 = ""; //选中文本
  string str2 = ""; //选中值
  //for (int i = 0; i < clb.Items.Count; i++) //获取选中文本
  //{
  //    if (clb.GetItemChecked(i))
  //        str += clb.GetItemText(clb.Items[i]) + ";";
  //}
  foreach (DataRowView item in clb.CheckedItems)
  {
      // item索引取决于数据源字段索引
      str1 += item[1].ToString() + ";"; //获取选中文本
      str2 += item[0].ToString() + ";"; //获取选中值
  }

5.RichTextBox

5.1 常用
// 1.加载rtf文件
this.richTextBox1.LoadFile(help_file); 
// 2.内容装换为byt数字,可以存储在数据库当中
byte[] bytes = Encoding.Default.GetBytes(richTextBox1.Rtf); // 注意是 .Rtf
5.2评论实现,插入表情,表情图片的点击事件
 private void pictureBox1_Click(object sender, EventArgs e)
 {
     Clipboard.Clear();         
     Clipboard.SetImage(Properties.Resources.emoticon_smile);
     richTextBox1.Paste();
 }
5.4 数据库保存及读取
// 1. 存储,数据库中也可以直接存储字符串使用 varchar(Max)
string str=richTextBox1.Rtf; 
// 2. 读取,直接读取字符串
richTextBox1.LoadFile(str,RichTextBoxStreamType.RichText);

6.DateTimePicker

6.1 常用属性
    // 1.自定义显示样式
    this.dtp.Format = DateTimePickerFormat.Custom;
    this.dtp.CustomFormat = "yyyy-MM-dd HH:mm:ss";
    // 2.是够显示上下修改按键
    this.dtp.ShowUpDown=true;

6.1.1 各个字母所代表的意思

1.MM:月份 2.mm:分钟 3. MMMM:文字形式月份 4.MMM:三个字母缩写的月份

4.HH:24小时制 5.hh:12小时制

6.ddd:三个字母缩写的星期 7.dddd:完整的星期

8.t: 单字母 A.M./P.M. 缩写(A.M. 将显示为“A”) 9.tt:两字母 A.M./P.M. 缩写(A.M. 将显示为“AM”)

7.ContextMenuStrip-右键菜单

7.1 添加Item
this.contextMenuStrip1.Items.Add( "Item1", Properties.Resources.nopicture); //带Icon
this.contextMenuStrip1.Items.Add( "Item2"); //不带Icon
7.2 Item点击事件 ,以及设置为选中状态,在ItemClicked点击事件中实现
  private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  {
      foreach (ToolStripMenuItem item in this.contextMenuStrip1.Items) //全部置为未选中状态
          item.Checked = false;

      ToolStripMenuItem selectedItem = (ToolStripMenuItem)e.ClickedItem;
      selectedItem.Checked = true; //设置选中项为选中状态
      if (selectedItem == this.contextMenuStrip1.Items[0])
          MessageBox.Show("Item1");
      else if(selectedItem == this.contextMenuStrip1.Items[1])
          MessageBox.Show("Item2");
  }
7.3 DataGridView 右键点击提示选中Ids

注意是CellMouseDown 事件

  private void dgv_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
  {
      if(e.Button== MouseButtons.Right)
      {
          selectedId = this.dgv.Rows[e.RowIndex].Cells["ids"].Value.ToString();
          this.contextMenuStrip1.Show(MousePosition.X, MousePosition.Y); //设置显示位置
      }
  }

8.Dialog

8.1 各种Dialog

1.ColorDialog 2.FontDialog 3.FolderBrowserDialog 4.OpenFileDialog 5.SaveFileDialog

8.2 FootDialog ColorDialog
  if (fontDialog1/colorDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  {
      this.label1.Font = fontDialog1.Font; // FootDialog 
      this.panel1.BackColor = colorDialog1.Color; //ColorDialog 
  }
8.3 常用 属性
    // 1.文件名筛选器
    ofd.Filter = "ALL|*.*|PNG|*.png|JGP|*.jpg";
    // 2.是否支持多选
    ofd.Multiselect = true;
    // 3.是否还原上次打开目录
    ofd.RestoreDirectory = false;
9.1动态添加MenuItem

需要记住的属性:DropDownItems ToolStripMenuItem

   ToolStripMenuItem item = new ToolStripMenuItem("Item1");
   ToolStripMenuItem item_sub1 = new ToolStripMenuItem("Item1 sub1");
   ToolStripMenuItem item_sub2 = new ToolStripMenuItem("Item1 su21");
   item.DropDownItems.Add(item_sub1);
   item.DropDownItems.Add(item_sub2);

   item_sub1.DropDownItems.Add("Item 1 sub1 sub1");

   this.menuStrip1.Items.Add(item);
9.2 点击事件

1.通过双击MenuItem来设置单个Item 2.foreach循环 3.动态添加Item时,每个Item绑定事件

   foreach (ToolStripMenuItem menuItem in this.menuStrip1.Items)
   {
       menuItem.Click += MenuItem_Click; //显示在界面中的菜单
       foreach (ToolStripMenuItem dropItem in menuItem.DropDownItems)
       {
           dropItem.Click += MenuItem_Click; //一级菜单
       }
   }

10.NumbericUpDown

   // 1.步长
   this.numericUpDown1.Increment = Convert.ToDecimal(0.50); //可以设置或者小数
   this.numericUpDown1.DecimalPlaces = 2;//小数位个数,如果步长小于1则需要设置
   // 2.最大值,最小值
   this.numericUpDown1.Minimum = 1;
   this.numericUpDown1.Maximum = 100;            

11.TrackBar-滑动条

11.1 常用属性
  // 1.显示的刻度间隔
  this.trackBar1.TickFrequency = 5;
  // 2.显示样式
  this.trackBar1.TickStyle = TickStyle.BottomRight;
  // 3.最大值/最小值
  this.trackBar1.Minimum = 1;
  this.trackBar1.Maximum = 10;

12.Panel

12.1 属性
   // 1.边框显示样式
   this.panelContainer.BorderStyle = BorderStyle.FixedSingle;
   // 2.背景图显示样式
   this.panelContainer.BackgroundImageLayout = ImageLayout.Stretch;
12.2 设置表框样式及颜色
   private void Panel1_Paint(object sender, PainEventArgs e)
   {      ControlPaint.DrawBorder(e.Graphics,this.ClientRectangele,Color.Red,ButtonBorderStyle.Solid);  
   }

13.LinkLable

   // 1.显示样式
   this.linkLabel1.LinkBeha=LinkBehavior.NeverUnderline; //不显示下划线

14.TableLayoutPanel

14.1 单元格内控件居中对齐

设置单元格中控件的Anchor属性为None

14.2 常用属性
   // 1.行数/列数
   this.tableLayoutPanel1.ColumnCount = 3;
   this.tableLayoutPanel1.RowCount = 3;
   // 2.单元格样式
   this.tableLayoutPanel1.CellBorderStyle = TableLayoutPanelCellBorderStyle.None;
   // 3.添加控件
   this.tableLayoutPanel1.Controls.Add(btn,0, 0);

15.ListView

15.1 常用属性
  // 1.显示样式
  this.listView1.View = View.SmallIcon;
15.2 加载数据
  ImageList ilLarge = new ImageList();
  ImageList ilSmall = new ImageList();
  ilLarge.ImageSize = new Size(128,128);
  ilSmall.ImageSize = new Size(32, 32);
  ilLarge.Images.Add(Properties.Resources.superman);
  ilSmall.Images.Add(Properties.Resources.superman);
  // 设置大小Icon
  this.listView1.LargeImageList = ilLarge;
  this.listView1.SmallImageList = ilSmall;

  //添加列
  this.listView1.Columns.Clear();
  this.listView1.Columns.Add("Id");
  this.listView1.Columns.Add("Name");
  this.listView1.Columns.Add("Age");

  Random r = new Random();
  this.listView1.Items.Clear();
  for (int i = 0; i < 10; i++)
  {
      ListViewItem lvi = new ListViewItem();
      lvi.Text = i.ToString();
      lvi.SubItems.Add("Name" + i.ToString());
      lvi.SubItems.Add(r.Next(10, 20).ToString());
      lvi.ImageIndex = 0; //重要,不设置的话不显示图片
      this.listView1.Items.Add(lvi);
  }
15.3 获取选中项
   string str = "";
   foreach (ListViewItem item in this.listView1.SelectedItems)
       str += item.Text + ";";

16.FlowLayoutPanel

16.1 设置滚动方向
  //首先设置允许滚动
  this.flp.AutoScroll = true;
  //this.flp.WrapContents = true; //垂直滚动条
  this.flp.WrapContents = false; //水平滚动条
  

16.2 设置滚动条显示位置

flp.ScrollControlIntoView(uc); //指定显示控件

======================其他知识点

1.BindingSource

BindingSource bs = new BindingSource();
bs.DataSource = dataSet.Tables[0]; //绑定数据源
this.dataGridView1.DataSource = bs; //为dataGridView设置数据源
this.txtDepid.DataBindings.Add("Text", bs, "depid"); //绑定TextBox的Text属性

2. toString() 方法

   int num = 123123;
   double d=12.126;
   double d2=0.5;
   // 1.千分位分割符,0表示小数点后几位    
   Console.WriteLine(num.ToString("N0")); // 123,123
   // 2.货币格式,默认千分位分隔符
   Console.WriteLine(num.ToString("C2")); // $123123.00
   // 3.四舍五入,保留指定小数位数
   string str= d.ToString("F2");  // str:1.13  
   string str = d.ToString("0.00");  //效果同上
   // 4.计算百分比
   string str = d2.ToString("P0"); // 50%
   string str = d2.ToString("P"); // 50.00%

3.String 类常用

  // 1.构造函数生成重复字母
  string str = new string('Q',3); // str:QQQ
  // 2.合并多个字符串
  string[] strs = { "A", "B", "C" };
  string str= string.Concat(strs);
  // 3.去掉字符串最后指定符号
  StringBuilder sb = new StringBuilder();
  sb.Append("a,b,c,d,");
  string str = sb.ToString().TrimEnd(',');
  //4.拼接指定项到指定长度
  string str2= "C"+num.ToString().PadLeft(6, '0');

4.Clipboard-剪切板

  // 1.设置剪切板内容
  //Clipboard.SetText("Tiger");
  // 2.获取剪切板内容
  string str = Clipboard.GetText(); //Type1
  Console.WriteLine(str);
  IDataObject iData = Clipboard.GetDataObject(); //Type2
  if (iData.GetDataPresent(DataFormats.Bitmap)) //也可以获取图片,不过目前只发现PrtSc键可用
  {
      Bitmap b = (Bitmap)iData.GetData(DataFormats.Bitmap);
  }

转载于:https://www.cnblogs.com/-Tiger/p/7763474.html

### 回答1: WinForms CefSharp 113.1.40 是一个基于Chromium的.NET框架,用于嵌入一个自定义浏览器控件到Windows应用程序中。如果你想要支持视频播放功能,你需要进行一些额外的工作。 首先,你需要添加一个名为libcef.dll的动态链接库文件,该文件是CefSharp的核心组件之一,它提供了与Chromium进行交互的功能。你可以通过从CefSharp中文官方GitHub仓库中下载合适版本的CefSharp包来获取该文件。 一旦你有了libcef.dll文件,你需要将它复制到你的项目的输出目录中,或将其放置在你的应用程序的可执行文件所在的同一目录下。这是为了确保系统能够找到这个文件。 接下来,你需要在你的WinForms项目中引用CefSharp类库。你可以通过使用NuGet包管理器来添加CefSharp.WinForms和CefSharp.Common的引用。 一旦你完成了引用,你需要在你的WinForms的代码中创建一个CefSharp控件,并在需要显示浏览器的地方将其添加到你的窗体中。你可以使用类似下面的代码来完成: ``` using CefSharp; using CefSharp.WinForms; public class MyBrowserForm : Form { private ChromiumWebBrowser browser; public MyBrowserForm() { browser = new ChromiumWebBrowser("https://www.example.com"); Controls.Add(browser); } } ``` 以上代码将创建一个带有浏览器控件的窗体,并显示指定的URL。 至此,你已经成功创建了一个基本的自定义浏览器控件,通过CefSharp可以在你的WinForms应用程序中显示网页。如果你要支持视频播放功能,你可以在页面中嵌入HTML5的video标签或使用Flash等其他技术来实现。然后,CefSharp将能够解析并呈现这些视频。 综上所述,通过使用WinForms CefSharp 113.1.40,你可以创建一个自定义浏览器控件,并支持视频播放。为此,你需要添加libcef.dll文件到你的项目中,引用CefSharp类库,并在你的代码中创建和配置浏览器控件。希望这些信息对你有帮助。 ### 回答2: WinForm-CefSharp是一种用于嵌入Chromium浏览器的库,而CEFSharp 113.1.40是其特定版本。若想实现视频播放功能,可能需要自定义浏览器以支持视频播放DLL。 首先,需要添加CEFSharp.Wpf和其他相关库的引用来创建WinForm-CefSharp应用程序。然后,我们可以添加一个自定义的ChromiumWebBrowser控件到窗体,并将其设置为允许媒体播放。 CEFSharp支持通过CefSettings配置浏览器的各种选项。我们可以通过设置CefSettings的Plugins属性来允许浏览器加载插件。此属性可接受一个插件文件夹的路径作为参数,即希望支持的DLL文件所在的目录。 在加载CEFSharp之前,我们需要确保要加载的DLL文件已经添加到项目中,并设置其属性为始终复制。这样,在运行应用程序时,相关的DLL文件将被复制到输出目录。 接下来,我们需要处理CefSharp控件的LoadingStateChanged事件,并在事件处理程序中判断当前加载的URL类型。当加载的URL为媒体文件(例如视频)时,我们可以执行一些自定义操作,例如显示播放器控件、设置播放器的源文件等。 最后,我们可以使用CefSharp控件的ExecuteScriptAsync方法调用JavaScript代码来控制视频播放。通过执行一些相关的JavaScript函数,我们可以实现自定义的视频控制功能,如播放、暂停、跳转等。 总之,要实现WinForm-CefSharp应用程序的自定义浏览器支持视频播放DLL,我们需要添加CEFSharp和其他相关库的引用,设置浏览器的配置选项以支持插件加载,确保相关的DLL文件已添加到项目中并设置为始终复制,处理LoadingStateChanged事件来判断并控制加载的URL类型,以及通过执行JavaScript代码来实现自定义的视频播放功能。 ### 回答3: Winform-CefSharp是一个用于在Winform应用程序中嵌入Chromium浏览器的开源库。要实现自定义浏览器支持视频播放DLL,可以按照以下步骤操作。 首先,确保已经将CefSharp集成到你的Winform应用程序中。你需要在项目中引用CefSharp的相关dll文件,以及解决依赖关系。 接下来,创建一个自定义的CefSharp浏览器控件,您可以继承CefSharp.WinForms.ChromiumWebBrowser类并重写一些必要的方法。例如,你可以重写OnBeforeResourceLoad方法来拦截特定视频资源的加载请求。 在你的自定义控件中实现视频播放的逻辑。你可以通过调用CEF浏览器引擎 提供的相关方法来实现视频播放的支持。例如,你可以使用CefBrowserHost.GetFrame函数获取浏览器的当前帧,然后通过调用LoadUrl方法加载视频链接。 另外,你还需要添加将视频URL传递给CefSharp浏览器控件的方法。你可以在自定义的控件中添加一个方法,用于接收调用者传递的视频URL,并将其传递给CefSharp浏览器控件。 最后,在你的Winform应用程序中使用自定义的CefSharp浏览器控件。将该控件添加到你的界面中,并在需要的时候调用相关方法来加载和播放视频。 总结来说,要实现自定义浏览器支持视频播放DLL,你需要集成CefSharp到你的Winform应用程序中,创建自定义的CefSharp浏览器控件,并在其中实现视频播放的逻辑。然后,在你的应用程序中使用该自定义控件来加载和播放视频。这样就可以实现自定义浏览器支持视频播放DLL的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值