如何使不同的窗體控件,適應不同分辨率的屏幕?

問題

當屏幕分辨率提高或降低時,原分辨率顯示正常的控件,將變得很小或很大,字體也變得太大或太小。

解決辦法

當分辨率變化時,采用遞歸的方法,對所有的控件放大或縮小。

public static void MainForm_Load(object sender, EventArgs e){// 獲取當前屏幕分辨率Screen screen = Screen.PrimaryScreen;int currentWidth = screen.Bounds.Width;int currentHeight = screen.Bounds.Height;Control t =(Control) sender;if (t.Width > 1700|| t.Width<1000){// 計算寬度和高度的縮放因子float widthScale = (float)currentWidth / 1920;float heightScale = (float)currentHeight / 1080;// 應用縮放因子ScaleControls((Control)sender, widthScale, heightScale);}}public static void ScaleControls(Control parentControl, float widthScale, float heightScale){foreach (Control control in parentControl.Controls){// 調整控件的大小和位置control.Left = (int)(control.Left * widthScale);control.Top = (int)(control.Top * heightScale);control.Width = (int)(control.Width * widthScale);control.Height = (int)(control.Height * heightScale);if (control.Width > 1700){// 調整字體大小control.Font = new Font(control.Font.FontFamily, control.Font.Size * Math.Min(widthScale, heightScale));}elsecontrol.Font = new Font("宋體", 9);// 遞歸處理子控件if (control.HasChildren){ScaleControls(control, widthScale, heightScale);}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76124.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76124.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76124.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

虛擬機(一):Java 篇

虛擬機&#xff08;一&#xff09;&#xff1a;Java 篇 虛擬機&#xff08;二&#xff09;&#xff1a;Android 篇 架構 運行時數據區&#xff1a; 棧&#xff1a; 堆&#xff1a; 堆&#xff1a;通過new創建的對象都在堆中分配。OutOfMemoryError TLAB(Thread Local All…

硬件基礎--14_電功率

電功率 電功率:指電流在單位時間內做的功(表示用電器消耗電能快慢的一個物理量)。 單位:瓦特(W)&#xff0c;簡稱瓦。 公式:PUI(U為電壓&#xff0c;單位為V&#xff0c;i為電流&#xff0c;單位為A&#xff0c;P為電功率&#xff0c;單位為W)。 單位換算:進位為1000&#xff…

更高的效率——MyBatis-plus

一、什么是MyBatis-plus&#xff1f; MyBatis-plus是MyBatis的增強工具&#xff0c;在MyBatis基礎上只做增強不做改變&#xff0c;可以簡化基礎的CRUD操作&#xff08;通過繼承 BaseMapper 接口可直接使用預定義的增刪改查方法&#xff09; 二、MyBatis-plus快速入門 2.1 準備…

【算法基礎】遞歸與遞推

目錄 遞歸實現指數型枚舉 題目 算法解析 遞歸實現排列型枚舉 題目 算法解析 費解的開關 題目 算法解析 遞歸實現組合型枚舉 題目 算法解析 帶分數 題目 算法解析 飛行員兄弟 題目 算法解析 翻硬幣 題目 算法解析 遞歸實現指數型枚舉 題目 算法…

Java 大視界 -- Java 大數據在智慧礦山設備故障預測與預防性維護中的技術實現(163)

&#x1f496;親愛的朋友們&#xff0c;熱烈歡迎來到 青云交的博客&#xff01;能與諸位在此相逢&#xff0c;我倍感榮幸。在這飛速更迭的時代&#xff0c;我們都渴望一方心靈凈土&#xff0c;而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識&#xff0c;也…

綜合實驗一

實驗拓撲圖&#xff1a; 實驗要求&#xff1a; 1,內網IP地址使用172.16.0.0/16分配 2,SW1和SW2之間互為備份 3,VRRP/STP/VLAN/Eth-trunk均使用 4,所有PC均通過DHCP獲取IP地址 5,ISP只能配置IP地址 6,所有電腦可以正常訪問ISP路由器環回 實驗步驟&#xff1a; 步驟1&…

snort檢測端口掃描工具

前面兩篇文章介紹了snort3相關知識和Ubuntu上的安裝配置Ubuntu22.04上Snort3的安裝與基本配置 -CSDN博客 和Snort規則定義并進行的簡單的測試Snort規則定義與測試 -CSDN博客&#xff0c;接下來我將介紹如何編寫一個簡單的檢測端口掃描的規則進行檢測 一、實驗環境 攻擊機&…

【行測】資料分析

> 作者&#xff1a;?舊言~ > 座右銘&#xff1a;讀不在三更五鼓&#xff0c;功只怕一曝十寒。 > 目標&#xff1a;掌握 資料分析 基本題型&#xff0c;并能運用到例題中。 > 毒雞湯&#xff1a;有些事情&#xff0c;總是不明白&#xff0c;所以我不會堅持。早安! …

工地揚塵監測儀:守護藍天白云的重要工具

在城市化進程加速推進的背景下&#xff0c;建筑工地數量呈現持續增長態勢&#xff0c;揚塵污染問題亦愈發顯著。揚塵不僅對空氣質量造成負面影響&#xff0c;更對周邊居民的健康狀況及生活質量構成威脅。在此情形下&#xff0c;工地揚塵監測儀作為建筑工地環境管理中不可或缺的…

Windows10 下QT社區版的安裝記錄

0. 介紹 踩了一些坑&#xff0c;記錄一下&#xff0c;主要是鏡像源的問題。 1. 安裝 首先你先要在qt官網上有一個自己的賬號。 然后點右上角的下載 打開后&#xff0c;我們需要選擇社區版本&#xff1b;如果選擇直接下載的話&#xff0c;出來的就是商業版本。 點開后&…

自定義一個C語言字符串取整函數

一、字符串取整的主要思路 1、遍歷每個字符&#xff1b; 2、獲得0到9的字符對應的整數值&#xff1b; 3、把對應位置的十進制權重相乘&#xff1b; 4、把所有的相乘結果相加&#xff1b; 5、返回相加結果&#xff1b; 二、主要代碼 // 主要是把十進制的整數字符轉成十進制變量值…

VS Code C/C++項目設置launch.json中的environment參數解決支持庫路徑問題

問題描述 Windows 11 VS Code C/C 開發環境搭建分別寫了c和cpp兩個示例代碼&#xff0c;在運行過程中c代碼沒有發現問題&#xff08;可能簡單&#xff0c;沒有用到太多支持&#xff09;&#xff0c;但使用了stl的cpp代碼并沒有運行出來&#xff0c;如下圖&#xff1a; 出問題…

C語言pthread庫的互斥鎖使用案例

一、函數約定 1、初始化鎖 int pthread_mutex_init(pthread_mutex_t* m, const pthread_mutexattr_t* attr) 2、加鎖 int pthread_mutex_lock(pthread_mutex_t* m); 3、解鎖 int pthread_mutex_unlock(pthread_mutex_t* m); 4、銷毀 int pthread_mutex_de…

隨機2級域名引導頁HTML源碼

源碼介紹 隨機2級域名引導頁HTML源碼,每次點進去都隨機一個域名前綴。 修改跳轉域名在 350 行代碼&#xff0c;源碼由HTMLCSSJS組成&#xff0c;記事本打開源碼文件可以進行內容文字之類的修改&#xff0c;雙擊html文件可以本地運行 效果預覽 源碼免費獲取 隨機2級域名引導頁…

NQA 網絡質量分析協議

協議信息 網絡質量分析協議&#xff0c;支持 icmp 等協議測試 配置實現 華為 創建 ICMP 測試實例 NQA 與靜態路由聯動 ?ip route-static 10.1.1.0 24 10.1.2.1 track nqa admin test1??

Nginx — nginx.pid打開失敗及失效的解決方案

1、場景一&#xff1a;nginx.pid文件或者目錄不存在 1.1、報錯詳情 [rootmaster conf]# ../sbin/nginx -s reload nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory) #nginx.pid文件或目錄不存在。 原因&#xff1a; 1、文件…

Gitee批量刪除倉庫

Gitee批量刪除倉庫 文章目錄 Gitee批量刪除倉庫生成一個GiteeToken通過Python調用Gitee API參考文檔 生成一個GiteeToken 右上角下拉->設置->安全設置->私人令牌->生成新令牌&#xff0c;注意將令牌保存&#xff08;只會出現一次&#xff09; 通過Python調用Gite…

AireOS WLC安裝License報錯

1.概述 本文主要記錄在AireOS的WLC上安裝License錯誤的情況。License的類型也是傳統的License&#xff0c;因為設備的型號已經EOL&#xff0c;相關的資料應該較少&#xff0c;這里進行可能問題的記錄。 2.適用場景 型號&#xff1a;WLC2500&#xff0c;WLC5508 License類型…

利用 Excel 函數隨機抽取(附示例)

RANDARRAY 是 Excel 365 和 Excel 2021 引入的一個函數&#xff0c;用于生成一個隨機數數組。它的語法如下&#xff1a; RANDARRAY([rows], [columns], [min], [max], [whole_number])參數詳解 rows&#xff08;可選&#xff09; 要生成的行數&#xff08;默認值為 1&#xff…

Python:爬蟲概念與分類

網絡請求&#xff1a; https://www.baidu.com url——統一資源定位符 請求過程&#xff1a; 客戶端&#xff0c;指web瀏覽器向服務器發送請求 請求&#xff1a;請求網址(request url)&#xff1b;請求方法(request methods)&#xff1b;請求頭(request header)&…