c# - 抽绳 onclick 方法 C#

标签 c# onclick drawstring

我有一些使用 DrawString 绘制的字符串

        for (int j = 0; j < dt.Rows.Count; j++)
        {
            e.Graphics.DrawString(Convert.ToString(dt.Rows[j]["ID"]), drawFont, drawBrush, new Point(Convert.ToInt32(dt.Rows[j]["XCord"]), Convert.ToInt32(dt.Rows[j]["YCord"])));
        }

有没有办法为每个拉绳创建一个 onclick 事件?当您单击拉绳时,我希望创建一个新表单。谢谢!

最佳答案

处理容器的MouseClick事件并枚举行以找出文本的“矩形”并查看鼠标位置是否在其中:

void panel1_MouseClick(object sender, MouseEventArgs e) {
  if (e.Button == MouseButtons.Left) {
    foreach (DataRow dr in dt.Rows) {
      Point p = new Point(Convert.ToInt32(dr["XCord"]), Convert.ToInt32(dr["YCord"]));
      Size s = TextRenderer.MeasureText(dr["ID"].ToString(), panel1.Font);
      if (new Rectangle(p, s).Contains(e.Location)) {
        MessageBox.Show("Clicked on " + dr["ID"].ToString());
      }
    }
  }
}

关于c# - 抽绳 onclick 方法 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11472392/

相关文章:

javascript - Chrome/FF 中的竞争条件

javascript - 不使用 <a> 标签调用 LightBox onclick

Java Swing Graphics2D drawString 启动慢?

.net - C# 如何在物体前面绘制?

c# - 数据绑定(bind)到计算字段

c# - 为什么即使在转换其父类之后,Web API Action 方法也会返回子属性的 Json

c# - 使用 mvvm light 实现文件计数器

c# - WinForm 浏览器控件右键单击了哪个元素?

java - 如何在Java中使用drawString()绘制任何文本

javascript - 带有 Javascript onclick 事件的 HTML anchor 标记