/ / Prečo sú farby kontrolnej farby natierané mimo oblasti klientskej farby? - .net, winforms, draw, paint, delphi-hranol

Prečo sú metódy riadenia farieb mimo farby klienta? - .net, winforms, draw, paint, delphi-prism

Mám winform, na ktorý chcem kresliť prerušovanekliknite na ľavé tlačidlo myši a ťahajte. Po uvoľnení ľavého tlačidla myši by mal rám zmiznúť. Dokážem to pomocou metódy ControlPaint.DrawReversibleFrame. Čerpá však mimo winform vždy, keď nie je vo winforme. Zdá sa, že metódy ovládania farby sa používajú ako obrazovka ako plocha farby, nie ako forma. Mám pravdu?

Ak je môj predpoklad správny, ako môžete povedať, aby spoločnosť controlpaint použila ako farebnú plochu winform.

Vďaka,

odpovede:

1 pre odpoveď č. 1

ControlPaint robí "podvádzať" tým, že kreslí na ploche.

Vyskúšať si musíte sami sledovať rozmery. Akonáhle sa dostanete na hranicu svojej kontroly, prestaňte volať.

Aktualizované:

Znie to, akoby ste nemuseli správne prevádzať svoje dimenzie.

Toto je jednoduchý príklad, ktorý môžete vždy nakresliť na ovládací panel1:

private void panel1_Paint(object sender, PaintEventArgs e) {
ControlPaint.DrawReversibleFrame(
new Rectangle(panel1.PointToScreen(new Point(32, 32)), new Size(64, 64)),
panel1.BackColor,
FrameStyle.Dashed);
}