【问题标题】:Trying to swap to components to the right position试图将两个组件交换到正确的位置
【发布时间】:2018-04-26 12:23:25
【问题描述】:

我正在努力在 c# 中交换两个组件,一个按钮(Windows 窗体)比另一个大,我认为这是问题的原因。

一开始是这样的:

最终结果应该是这样的:

但是,使用我的代码,结果最终会执行以下操作:

我的代码:

 tempC.Location = btnBlockSix.Location; //tempC is a dynamic button (temporarily used to save values), btnBlockSix is also a button (the big one).
 btnBlockSix.Location = send.Location; //send is a button (the small one) (the empty button)
 send.Location = tempC.Location;

【问题讨论】:

  • 这里没有足够的信息来回答您的问题。显示所有相关代码。 3 个名为“位置”的作业没有告诉我们任何有用的信息。
  • 我已经更新了答案,提供了有关哪个变量引用哪个按钮以及作为标准 Windows 窗体按钮的按钮类型的更多信息。这样就够了吗?
  • 您应该考虑使用可见性或颜色,而不是移动控件的位置。您不能简单地将第一个按钮上的绿色更改为透明,然后在第二个按钮上将绿色改为透明吗?

标签: c# winforms location


【解决方案1】:

我错了还是你们中的一个按钮比另一个大?因为那时你必须做这样的事情:

     tempC.Location = btnBlockSix.Location; //tempC is a button.

     btnBlockSix.Location = send.Location; //send is a button (the empty button)[enter image description here][1]

     send.Location = tempC.Location.Y - (btnBlockSix.height - send.Location.height);

或者类似的东西。 您对按钮的帖子描述非常不清楚

【讨论】:

  • 是的,很抱歉我的按钮比另一个大,你的代码给了我错误“点不包含高度的定义”。
  • 因为我现在不知道你在使用什么样的按钮。我的代码是为了给你这个想法。您必须将绿色按钮向上移动高度减去小按钮的高度
  • 这是我从工具箱中拖放的普通 Windows 窗体按钮
猜你喜欢
  • 1970-01-01
  • 2012-09-18
  • 1970-01-01
  • 1970-01-01
  • 2010-11-24
  • 2012-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多