日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

【自定义控件】c#winform自定义控件实现标签控件

發(fā)布時間:2023/12/4 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【自定义控件】c#winform自定义控件实现标签控件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

介紹

首先我們設(shè)計這個控件的時候要明白控件是怎樣交互的, 熟悉b站的小伙伴應(yīng)該知道 ,我們上傳視頻的時候會去選擇標(biāo)簽 ,我們輸入標(biāo)簽文本 按下回車就代表該標(biāo)簽已經(jīng)添加成功了,效果圖如下!

控件拆分

我們首先拆分一下該控件, 整個控件可以看成是一個已選標(biāo)簽界面和一個文本輸入界面。

已選標(biāo)簽界面里面是有很多小標(biāo)簽,一個一個組成的。

一:那么我們首先實(shí)現(xiàn)已選標(biāo)簽界面里面標(biāo)簽控件

標(biāo)簽控件我是繼承的UserControl 然后再userControl界面添加一個label控件來模擬關(guān)閉按鈕。

public partial class TagControl : BaseRadiusUserControl

?然后寫? 一個定義的關(guān)閉事件??

[Description("關(guān)閉事件"), Category("自定義")]public event EventHandler CloseClick;

? ? ?在label控件點(diǎn)擊X去觸發(fā)該關(guān)閉事件

private void close_Click(object sender, EventArgs e){CloseClick?.Invoke(this,e);}

然后寫一個賦值的方法 當(dāng)文本值大于2的時候去調(diào)整控件的大小。

public void SetText(string text){this.Content = text;if (text.Length > 1){this.Width = 60 + (text.Length - 1) * 20;}}

這樣小標(biāo)簽控件就實(shí)現(xiàn)了!

二:然后我們?nèi)?shí)現(xiàn) 標(biāo)簽的整體控件

? ? ?上半部分是一個已選標(biāo)簽控件, 下半部分是一個文本框。

? ? ? 我們新建一個標(biāo)簽控件繼承usercontrol

上半部分使用flowlaoutpanel控件, 下半部分使用文本框。

我們在文本框的KeyUp事件中添加小控件, 添加完成后清空文本框。

if (e.KeyCode == Keys.Enter){TagControl tagControl = new TagControl();tagControl.SetText(txtFlag.Text);tagControl.CloseClick += TagControl_CloseClick;flowTag.Controls.Add(tagControl);txtFlag.Text = "";}

我們在動態(tài)加載小標(biāo)簽控件的時候?qū)懮蟘lose關(guān)閉事件

private void TagControl_CloseClick(object sender, EventArgs e){TagControl tagControl = (TagControl)sender;flowTag.Controls.Remove(tagControl);}

實(shí)際效果

這樣我們仿b站標(biāo)簽控件就實(shí)現(xiàn)成功了!

?如果覺得我的文章還不錯,請點(diǎn)贊并給個關(guān)注,謝謝各位看官姥爺!

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的【自定义控件】c#winform自定义控件实现标签控件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。