-4

我有一份学校的家庭作业,我被困住了。

我必须做一个程序像“ http://www.beyinsporu.com/kelime-zinciri.php ”这个游戏。

正如你所看到的,有一些内嵌按钮,它们会在机器人上生成一个单词和另外 2 个字母。

在游戏中,您必须将按钮拖到另一个单词后面,一个新单词就会创建出来。

例如;

您在屏幕上有“添加”字样和“h”、“e”按钮。

在此之后,您在“add”字之前拖动“h”和“e”按钮,它必须检测“head”字。

问题是我如何检测是否有任何按钮被拖动到正确的区域?

我希望你能看懂我的英文^_^ 如果你看不懂,请告诉我纠正它。

它是 Windows 窗体。微软视觉工作室 2010。

我的按钮拖动代码;

  bool dragging = false;
  Point first;  
  private void button23_MouseDown(object sender, MouseEventArgs e)
    {
        dragging = true;
        first = e.Location;
    }
    private void button23_MouseMove(object sender, MouseEventArgs e)
    {
        if (dragging == true)
        {

            button23.Left = e.X + button23.Left - (first.X);
            button23.Top = e.Y + button23.Top - (first.Y);
        }
    }
    private void button23_MouseUp(object sender, MouseEventArgs e)
    {
        dragging = false;

    }
4

1 回答 1

0

“问题是我怎样才能检测到是否有任何按钮被拖动到正确的区域?”

在您的表单中添加一些面板以指示有效的拖放区。当一个“按钮”(我不会为此使用实际的按钮)放在面板中时,您可以将其“卡入”到正确的位置。由于面板位于预先确定的位置,因此您可以简单地对其进行迭代并确定其中包含哪些字母(如果有)以构建用户提出的当前单词。

您目前如何实现“按钮”的移动?您是在使用经典的拖放功能吗?...或者您是否真的在更新按钮的位置以响应被拖动?给我们看一些代码...

于 2013-05-06T15:57:55.143 回答