.net窗體或控制元件透明效果
在winform介面設計中,許多場景需要依賴透明或者半透明窗體或者控制元件,比如設定引數區域, 實時動態顯示條等。有以下幾種方法可以實現介面或者窗體的透明或者半透明效果:
1.winform窗體,所有繼承Form窗體類的,通過設定Opacity熟悉即可實現
效果如下所示。
2.控制元件的透明效果namespace formTransparent { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void trackBar1_Scroll(object sender, EventArgs e) { this.Opacity = this.trackBar1.Value*1.0 / 100; } } }
winform中的控制元件是沒有這種效果的,如果需要做成實時資訊顯示框效果,就需要設定控制元件的透明度。(通過建立一個窗體也可以實現透明效果,需要多建立一個視窗類,此處不採用這種做法)
此處以lable標籤實現實時狀態資訊顯示。用piturebox等控制元件也可以很方便的實現
如果想要改變透明顏色,則需要重新自定義backcolor,比如設定為紅色透明,this.lblStatus.BackColor = Color.FromArgb(20, 255, 0, 0);,其中A為透明度,後面的為具體的顏色值。效果如下圖所示namespace formTransparent { public partial class Form1 : Form { public Form1() { InitializeComponent(); this.lblStatus.Parent = this; this.lblStatus.BackColor = Color.Transparent; } private void Form1_MouseMove(object sender, MouseEventArgs e) { string str = "當前位置:"+ e.X+","+e.Y; this.lblStatus.Text = str; this.lblStatus.Location = new Point(e.X + 30, e.Y + 30); this.lblStatus.Refresh(); } } }
具體應用還有實現pictruebox的透明圖片的載入等
3.還有一種偽透明效果,直接繪製到介面上,一般不建議採用,因為下方的資料顯示介面和實時資訊介面混為一體,一旦更新其中一個另一個必須跟著重新整理,採用2中是最好的,實現了資料顯示和實時資訊的分開,無需資料顯示層大量重新整理介面。以下僅從技術實現角度進行分析
(1)採用GDI繪圖,先繪製到記憶體中,然後通過gdi的透明拷貝直接拷貝到響應的裝置上下文中。
(2)獲取GDI+對應的資料圖層的Graphics物件,通過繪製方法drawX等方法進行繪製,實現比較簡單
綜上所述,第二種方式是最為推薦的實現控制元件透明效果的方式,因為實現了標籤顯示和資料顯示的分開。
暫時想到這麼多,歡迎大家討論。
相關推薦
.net窗體或控制元件透明效果
在winform介面設計中,許多場景需要依賴透明或者半透明窗體或者控制元件,比如設定引數區域, 實時動態顯示條等。有以下幾種方法可以實現介面或者窗體的透明或者半透明效果: 1.winform窗體,所有繼承Form窗體類的,通過設定Opacity熟悉即可實現 效果如下所示。
Winfrom Panel 控制元件透明效果顯示
繼承Panel控制元件然後重寫方法 using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Drawing;
Gtk透明窗體和控制元件的研究
網上這些類似的資料很多,我大致上都是用過,我個人總結如下:透明的一般實現方法1:使用異形窗體實現透明在這裡我引用了別人的一個sample,其原理就是在設定不規則窗體,然後設定控制元件的背景圖實現透明,適合用於設定簡單控制元件上面的圖,使控制元件變為透明#include <
C# winform中一個類中如何呼叫另一個窗體的控制元件或方法
轉載地址:http://blog.csdn.net/ichenqingyun/article/details/52622340 一種是建立窗體物件的方式,通過物件呼叫控制元件或方法 例如: Form1 form1 = new Form1(); form1.Button;
C#Form.SplitContainer中清除控制元件textbox值(窗體.容器.控制元件)
文章目錄 問題背景 問題程式碼 問題解決 正確清除程式碼 問題延申 問題背景 早上在完善不確定度計算器時,想要清空實驗資料輸入時所有textbox控制元件值。 問題程式碼
ASP.NET Web 伺服器控制元件事件模型
ASP.NET 中有一個重要功能,允許您通過與客戶端應用程式中類似的、基於事件的模型來對網頁進行程式設計。舉一個簡單的例子,例如,可以向 ASP.NET 網頁中新增一個按鈕,然後為該按鈕的 Click 事件編寫事件處理程式。儘管這種情況在僅使用客戶端指令碼(在動態 HTML 中處理按鈕的 oncli
在圖片上停留時逐漸增強或減弱的透明效果
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>在圖片上停留時逐漸增強或減弱的透明效果</title> <
利用photoView實現可點選放大到全屏顯示的控制元件,效果類似於微信朋友圈點開看大圖
此控制元件繼承自ImageView,實現效果與微信朋友圈點開看大圖相似,點選控制元件後進入沉浸模式全屏顯示大圖,全屏時雙擊或手指拉伸可放大圖片,單擊會退出全屏 老規矩,先上控制元件實現程式碼: /** * 可點選放大全屏顯示的imageView * Created by Administ
ASP.NET中驗證控制元件的使用
目錄 1.RequireFiledValidation 2.RangeValidation 3.CompareValidator 4.RegularExpressionValidator(正則表示式線上編輯器:http://tools.jb51.n
.net自定義控制元件Control、WebControl、CompositeControl
一、呈現方法 1、Control主要有以下4個方法用於呈現 1 //該方法為入口方法 2 public virtual void RenderControl (HtmlTextWriter writer) 3 { 4 this.RenderControl(write
自定義控制元件透明
最近要用到一個日期控制元件, 自帶控制元件不符合要求,網上找了也沒想要的。……於是乎有了該文章…… 自拍一張: 如上圖,新建usercontrol,新增textbox、picturebox、monthcalendar。(圖 上的小正方形就是picturebox可以根據圖示自己定義)
ASP.NET Atlas簡單控制元件介紹——Sys.Component基類與Sys.UI.Control基類
本系列有三篇文章: ASP.NET Atlas簡單控制元件介紹——Sys.Component基類與Sys.UI.Control基類 ASP.NET Atlas簡單控制元件介紹——InputControl,TextBox,Button和CheckBox ASP.N
【ASP.NET】——複合控制元件之TreeView控制元件
在ASP.NET中常用的複合控制元件有:TreeView控制元件,MultiView控制元件,JavaScript方式的選項卡,WiZard控制元件。 今天先來學習TreeView控制元件。 在開發過程中經常會遇到一些有樹形層次關係的資料,比如顯示無限極分類和顯示某個檔案下的所有檔案及資
.NET使用flexcell控制元件(2)
1.新增資料 //新增一行資料 grid1.Rows += 1; int row = grid1.Rows-1; string sid, sname,sclass,smajor, ssex; int sage; //獲取新建行的資料 sid = grid1.Cell(row
ASP.net頁面及控制元件
ASP.NET 是一個使用 HTML、CSS、JavaScript 和伺服器指令碼建立網頁和網站的開發框架。 ASP.NET 支援三種不同的開發模式: Web Pages(Web 頁面)、MVC(Model View Controller 模型-檢視-控制器)
android studio的preview看不到佈局,導致看不到控制元件的效果
android Studio新建專案,preview只顯示一個大白版,看不到任何控制元件,不能預覽。 這時候我上網查了很多資料,最後發現可能是這幾個原因導致的: 1。 Invalidate caches/Restart... 2. force refresh st
js-標籤或控制元件的顯示與隱藏
tr 控制元件的顯示與隱藏 每次改變新增一個onchang事件,觸發下面的tr列的顯示與隱藏 function choosemulti() { var ismulti = $("#ismul
MFC學習之 對話方塊設定背景顏色及控制元件透明的方法
對話方塊設定背景色之後控制元件不透明的問題。 1.對話方塊設定背景色: 方法1:(用OnPaint()) 在Dlg.h中:宣告 afx_msg void OnPaint(); HICON m_hIcon; 在Dl
ASP.NET MVC 常用控制元件的使用方法總結
1:action 重定向 (a).return RedirectToAction("Index");//可跳本controller中的action (b).return RedirectToRoute(new {controller="Home",a
C# ASP.NET上傳控制元件fileupload的使用
程式碼實現了簡單的圖片上傳功能(改一下也可以上傳其他的),沒有做圖片大小和格式的判斷,主要是熟悉fileupload控制元件 介面程式碼: <%@ Page Language="C#" Aut