none
DesignSurface的鼠标虚线选定框问题。急,急,急..... RRS feed

  • 问题

  • 使用DesignSurface做一个设计器,不论是Form还是UserControl,用鼠标选择控件的虚线框在 高度大于550的区域就不会显示了,但控件还是会被选择。

    请问这个问题怎么解决?

    注:本问题非WPF类别。


    • 已编辑 VTYDA 2012年8月18日 3:17 描述更详细。
    2012年8月14日 2:35

全部回复

  • Hi VTYDA,

    能提供一些更详细的信息吗?谢谢。


    Bob Shen [MSFT]
    MSDN Community Support | Feedback to us

    2012年8月16日 5:46
    版主
  • DesignSurface做一个表单设计器,因为Form有高度限制,所以使用UserControl作为RootComponent,UserControl界面默认为A4 大小(Width=794, Height=1122),但在高度大于573的区域,按住鼠标左键所拖拽的虚线选择框就不会显示,可区域中的控件可以被选中。

    这个问题在Visual Studio 2005和2008中同样存在(2010之后的版本没测试过),可以新建一个UserControl,把高度设为1122或者更大都可以,然后用鼠标在大于573(具体数值可能会因为屏幕分辨率而有所不同)的区域 框选多个控件 测试一下,就知道了。

    • 已编辑 VTYDA 2012年8月18日 3:14 描述更详细些
    2012年8月16日 9:59
  • 考虑在RootComponent 的MouseDown等事件中 重绘虚线框,但是在设计时,事件没有响应,试着实现IRootDesigner,

    EG:public class RootControlDesigner : ControlDesigner,IRootDesigner

    然后    [Designer(typeof(RootControlDesigner),typeof(IRootDesigner))]
        public class RootControl : UserControl 

    这个方法因为 原View 被覆盖,也没有实现。

    2012年8月16日 14:16
  • 问题如图:

    注:因为高度单位是像素,位置点会因为屏幕分辨率不同而不一样。


    • 已编辑 VTYDA 2012年8月17日 11:49 描述更详细些。
    2012年8月17日 9:30
  • 这个问题怎么解决,希望高手们给个解决方案那。

    谢谢。

    2012年8月18日 9:24
  • 选择菜单 File | Type | BasicDesignerLoader.. 然后选择菜单File | New | Form创建一个新的Form,查看它所生成的XML文件,选择菜单View | Code | XML. 所看到的XML文件的内容类似于下面的内容:

    <Object type="System.Windows.Forms.Form, System.Windows.Forms, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
    name="Form1" children="Controls">

    <Property name="Name">Form1</Property>
    <Property name="DataBindings">
    <Property name="DefaultDataSourceUpdateMode">OnValidation</Property>
    </Property>
    <Property name="ClientSize">292, 273</Property>
    </Object>

    能否把 ClientSize的高度改大?然后就不会出现这种问题?

    2012年8月20日 8:46
  • 如果还不行,看是不是用了静态的工具?如果有的话,改为动态的
    2012年8月20日 8:47
  • 谢谢你的回复。

    刚测试了 还是不行,这个问题在 Visual Studio 2005和2008中同样存在。

    2012年8月20日 8:56
  • 这个问题难道没有解决方案吗?呼吁关注。

    2012年8月26日 3:32