Windows form rotation

2019-08-04 12:18发布

当您在.NET中创建一个形式,它表现为纵向版式的对话框。

没有人通常喜欢侧身阅读,或倒置,但我有一个非常有效的理由,旋转形式。

任何人都知道如何用C#做在Windows Vista吗?

Answer 1:

是否必须在的WinForms? 这是很容易在WPF做,使用旋转变换。 不幸的是,WPF的WindowsFormsHost整合不允许旋转变换。

编辑

据我所知,现在,有问题的形式是出海报的控制。 写作WPF控件将不会解决问题。



Answer 2:

也许这一个可以帮助你,我有一个类似的问题



Answer 3:

这将是一些额外的工作,但如果你主要是只需要形式的内容被旋转(而不是整个窗口包括标题栏,窗口控件等等,这是我以前从未见过),你可以代替使该被旋转90度的完全自绘用户控件,拖放一个普通的形式。 你甚至不会有调整你的一切的图画,因为你可以在你的图形对象上做一个RotateTransform,然后正常绘制的一切。

或者,如果你需要转动整个表格,你可以使窗体无边框,然后基本上做同样的事情,画的标题栏和窗口控制自己还。

更新 :这是一个MSDN文章,显示如何旋转在C#中的整个屏幕的链接:

http://msdn.microsoft.com/en-us/library/ms812499.aspx

这是常规的Windows(不Windows Mobile的),所以它应该为你的海豚工作,尽管它会旋转所有Windows,而不仅仅是你的应用程序的形式。 根据有多快的工作和你的整体需要,你可以在你的应用程序获得焦点旋转屏幕90度,那么当你的应用程序失去焦点旋转它恢复正常。

更新2:我刚才重读你的问题和意见。 你在谈论的旋转在一个单独的进程单独的应用程序的窗口,因此WPF 肯定不会帮助你在这里。 MSDN的链接可能是你所需要的。 在您的应用程序,你会旋转屏幕90度,然后开始在一个单独的进程中的其他应用程序。 这样的工作最好的,如果你能迫使独立的应用程序窗口最大化,您可以通过P /做调用FindWindow函数和SendMessage函数的API(你也可以使窗口总在最前面,这将使您的电脑变成了一种亭模式用于该应用)。 有过程的代码,基本上使得启动其他应用程序阻塞调用,这意味着你的应用程序将等待外壳应用程序恢复之前关闭的一个版本。 一旦应用程序关闭,你可以把屏幕恢复到正常的方向。



文章来源: Windows form rotation