【问题标题】:Hardcoding a Button position, yet, he always goes out the margins硬编码一个 Button 位置,然而,他总是超出边距
【发布时间】:2015-05-07 07:28:52
【问题描述】:

我创建了一个Button,并试图将其放入一个对话窗口中。

是这样的:

 buttonRight.Location = new Point(this.Width - 96, this.Height -buttonRight.Height - 20);

这听起来简单明了,但今天不是

结果如下:http://puu.sh/hEsTt/ceae1b6302.png

为什么?只是为什么?我有表单高度、按钮高度、20 像素边距,但它仍然没有停留在线条上方。有什么想法吗?

【问题讨论】:

  • 可能是按钮位置设置后窗口大小发生了变化?
  • 您是否显示/调试了任何高度和宽度值以确保它们符合您的预期?如果您希望按钮始终保持在同一位置而不管表单大小,那么您应该将上述代码放在表单大小更改事件中。
  • @SriramSakthivel 不,不可能,因为这是最后一段代码。
  • @deathismyfriend 窗口大小是可变的,是一个自定义对话框,来自 dotnetpearls。但!我在所有代码之后定义按钮位置。
  • 您的问题解决了吗?

标签: c# windows position location


【解决方案1】:

您正在使用FormSize 而不是它的ClientSize

这应该可以解决它:

buttonRight.Location = 
       new Point(this.Clientsize.Width - 96, 
                 this.Clientsize.Height - buttonRight.Height - 20);

Size,包括WidthHeight外部维度。但是您希望 inner 尺寸符合 ClientSize 或需要时 ClientRectangle

【讨论】:

    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 2011-05-13
    • 2015-02-25
    • 2014-01-14
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    相关资源
    最近更新 更多