/ / Zoom за формат на прозорци в C # - c #, winforms

Увеличете мащаба за форма на прозорци в C # - c #, winforms

Има ли лесен начин да зададете нивото на мащабиране за прозорец в C #? Във VBA имаше свойство за увеличение на формуляра.

Отговори:

0 за отговор № 1

Няма начин (от което да знам) да правя това, което питате с типичните WinForms.

Ако правите обичай живопис / рисуване, можетемащабиране, което с помощта на трансформация на мащабиране, но доколкото ми е известно, няма "Zoom" собственост за формуляра в целия свят на .NET и природните Windows / C ++ API комбинирани.

Вероятно бихте могли да устроите нещо таковаче да мащабирате контролите с постоянен фактор. И вероятно може да намерите контроли / повърхности от трета страна, които поддържат това. И кой знае какво е възможно с WPF. Но в един типичен свят на WinForms, не.


8 за отговор № 2

Имах същия проблем и реших го по този начин в c #. Кодът продължава върху зареждането на формуляра

float scaleX = ((float)Screen.PrimaryScreen.WorkingArea.Width / 1024);
float scaleY = ((float)Screen.PrimaryScreen.WorkingArea.Height / 768);
SizeF aSf = new SizeF(scaleX, scaleY);
this.Scale(aSf);

Тази "повече или по-малко" форма на мащаба и всички деца. Връща вечно в 800x600 (?) Трябва да зададете следните свойства на формата:

AutoscaleMode = Font
AutoSize = False

2 за отговор № 3

Можете да получите някакво увеличение, като зададете различни Font към формуляра, всички контроли ще бъдат мащабирани съответно, ако AutoScaleMode Настройка на шрифта. Също така настройки AutoSize до False ще запази размера на формата непокътнат, контролът ще нарасне до центъра на формуляра. Трябва да настроите правилно всички котви и да тествате външния вид, тъй като е просто "вид на увеличение".

Така че основно тук е примерният конструктор:

public Form1()
{
InitializeComponent();

AutoSize = false;
AutoScaleMode = AutoScaleMode.Font;
Font = new Font("Trebuchet MS",
10.0f,
FontStyle.Regular,
GraphicsUnit.Point,
((byte)(204))
);
}

След като е показано формулярът, задаването на нов шрифт ще обърка всички контроли и този трик няма да работи.