gpt4 book ai didi

c# - 从窗体句柄创建图形的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 21:22:32 24 4
gpt4 key购买 nike

编辑:对不起,不好意思,我忘记了一行。这些都是干净的条件(全新的项目)

        Form frm = new Form();
Graphics graphics = Graphics.FromHwnd(frm.Handle);
frm.FormBorderStyle = FormBorderStyle.None;
frm.WindowState = FormWindowState.Maximized;
frm.TransparencyKey = Color.Magenta;

frm.ShowDialog();

有和没有第二行,我得到两个完全不同的结果..

有些原因,当我从表单句柄创建图形对象时,它没有最大化表单...

我是唯一碰巧的吗?你知道为什么会发生这种情况(对我来说,或者根本不发生)吗?

非常感谢。

最佳答案

只是一个旁注。甚至还没有创建表单句柄:

    Form frm = new Form();
if (frm.IsHandleCreated == true)
{

// Doesn't get here
}
Graphics graphics = Graphics.FromHwnd(frm.Handle);

也许您正在寻找类似的东西:

                Form frm = new Form();
frm.HandleCreated += (s, ev) =>
{
if (frm.IsHandleCreated == true)
{
Graphics graphics = Graphics.FromHwnd(frm.Handle);
// FIXME not sure what you want to do, but drawing into this still won't work.

}
};

frm.Paint += (s, ev) =>
{
ev.Graphics.DrawLine(Pens.Black, 10, 10, 100, 100);

};

frm.FormBorderStyle = FormBorderStyle.None;
frm.WindowState = FormWindowState.Maximized;
frm.TransparencyKey = Color.Magenta;

frm.ShowDialog();

关于c# - 从窗体句柄创建图形的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com