簡體   English   中英

根據屏幕分辨率將Windows窗體上的按鈕控件調整為固定大小

[英]resize button controls on windows form to fixed size as per screen resolution

我有一個特殊的要求,即在不同屏幕分辨率下,表單上的-in按鈕大小應保持特定大小。

在此處輸入圖片說明

如上圖所示,我有一個按鈕“ ON”和“ OFF”,對於特定分辨率,兩個按鈕的大小均為2 cms。

現在,我需要將不同尺寸的按鈕調整為2厘米的代碼,或者即使在不同分辨率下,按鈕的尺寸也應保持不變。

謝謝

這個問題似乎是“如何使Windows窗體分辨率獨立?”。 順便說一句,互聯網上有很多示例可以使您的表單解析獨立。 不幸的是,.Net沒有提供任何類型的功能來使您的應用程序對所有分辨率通用。 但是,沒有一種正確的方法。

我已經為此發布了邏輯。 您可以檢查一下。

縮放窗口表單窗口

您只需要將該代碼添加到Windows窗體中即可。

修改https://stackoverflow.com/a/4767664/3745022,我們可以獲得:

private int CentimeterToPixel(double Centimeter)
{
    double pixel = -1;
    using (Graphics g = this.CreateGraphics())
    {
        pixel = Centimeter * g.DpiY / 2.54d;
    }
    return (int)pixel;
}

// ...

button.Width = CentimeterToPixel(2);

幾點:

  1. 它使用DpiY進行轉換,這可能(幾乎不可能,但是)與DpiX不同。
  2. 您可能想閱讀有關DPI感知的應用程序 ,DPI感知比手動縮放是更好的選擇,因為在手動縮放中,您負責應縮放的所有內容(字體,邊距,大小...)

不知道Winforms,但是可以使用CSS處理:

@media (min-width: 221px) {
    #button1 {
        width: 200px;
        height: 200px;
    }
}
@media (min-width: 280px) {
    #button1 {
        width: 240px;
        height: 240px;
    }
}

對不同的屏幕尺寸和button2重復此操作。 可以比我定義的屏幕更大或更小。

或者可以使用jQuery處理:

jQuery(document).ready(function ($) {

window.onresize = function () {
    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
        $("#button1").width(($(window).width()) / (3));
        $("#button1").height(($(window).height()) / (3));
        $("#button2").width(($(window).width()) / (3));
        $("#button2").height(($(window).height()) / (3));
    }
    else {
        $("#button1").width(($(window).width()) / (1.5));
        $("#button1").height(($(window).height()) / (1.5));
        $("#button2").width(($(window).width()) / (1.5));
        $("#button2").height(($(window).height()) / (1.5));
    }
});

反正就是這樣 包括手機內容,以防您尋找...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM