将一个Form旋转 比方说,我想旋转30度。不知道应该怎么做,有没有类似graphics下的RotateTransform的函数。请教了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 理论上是可以的。但是我真,真的没功夫写例子给你。但可以给你个思路。1。你可以参考异形窗体的设计,来动态的修改窗体的外形2。重写OnPaint方法和OnPaintBackGround方法,绘制3D/2D矩形框,当然,要和你的实际窗体旋转的角度一致。绘制方法,看样子楼主是会的。同样的方法应用到窗体中每个控件上。这个想法估计可行,看你再做的更通用一些。就比较好了。如果做好了。可以的话,发给我一份哦。[email protected]^_^ 你可以对画图坐标进行旋转,但不好对一个Form窗体旋转,参考如下的代码对画图对象旋转一个指定的角度:private void button2_Click(object sender, EventArgs e){ Graphics g = this.CreateGraphics(); Matrix x = new Matrix(); x.Rotate(30, MatrixOrder.Append); g.Transform = x; g.DrawString("测试字符串", this.Font, SystemBrushes.ControlText, 0, 0); g.ResetTransform(); g.DrawString("测试字符串", this.Font, SystemBrushes.ControlText, 0, 0);} to wuyazhe(wyz&xyl):3x. 其实我的思路和你的一样,把窗体的region做仿射变化,窗体就转了。把paint的东西做RotateTransform就可以了。我怕这样做效率太低了,觉得ms底层可能有实现了的功能可以参考。 没有。所以要你重载OnPaintBackGround,这个重载的时候,不调用base.OnPaintBackGround方法,就不会慢了。 有一段代码看不懂,请哪位高人帮解释一下? 一道关于算法和逻辑考验的金额转换题 使用ping命令时出现的问题 有谁知道怎样获取FileListBox的文件个数?急用!! 如何做软件封包 ConstClass的使用 是这样的 这个功能怎么实现 字符串070403112233 如何转换成时间格式的字符串? 及其简单的问题! 关于获得服务器端文件夹中文件信息的问题。 [菜鸟求助]命令行输入N个整数,然后按照大小排序
1。你可以参考异形窗体的设计,来动态的修改窗体的外形
2。重写OnPaint方法和OnPaintBackGround方法,绘制3D/2D矩形框,当然,要和你的实际窗体旋转的角度一致。绘制方法,看样子楼主是会的。
同样的方法应用到窗体中每个控件上。这个想法估计可行,看你再做的更通用一些。就比较好了。如果做好了。可以的话,发给我一份哦。[email protected]
^_^
{
Graphics g = this.CreateGraphics();
Matrix x = new Matrix();
x.Rotate(30, MatrixOrder.Append);
g.Transform = x;
g.DrawString("测试字符串", this.Font, SystemBrushes.ControlText, 0, 0);
g.ResetTransform();
g.DrawString("测试字符串", this.Font, SystemBrushes.ControlText, 0, 0);
}
3x. 其实我的思路和你的一样,把窗体的region做仿射变化,窗体就转了。把paint的东西做RotateTransform就可以了。
我怕这样做效率太低了,觉得ms底层可能有实现了的功能可以参考。