【问题标题】:C# DataGridView single button to go backC# DataGridView 单按钮返回
【发布时间】:2016-03-09 21:19:10
【问题描述】:

我有一个表格,上面有一个面板。单击按钮时,我将面板变为不可见并显示 DataGridView (来自 sql 的表)。我的问题是......有没有办法在我的表单上放置一个按钮,以便我可以返回主菜单(点击时,将面板可见性设置为 true)。

我尝试使用 DataGridViewButtons,但不行。我只想要一个按钮,在我的表单上的任何地方,称为 Back 可以让我返回。不知何故,除非我有面板,否则它不会让我在任何地方放置按钮。有什么解决办法吗?

如有必要,我可以添加任何代码,只需告诉我是哪个

            menu.Visible = false;
            DataGridView dgw = new DataGridView();
            dgw.Parent = this;
            dgw.Location = new Point(
                    this.ClientSize.Width / 3 - dgw.Size.Width / 2,
                    this.ClientSize.Height / 4 - dgw.Size.Height / 2);
            dgw.Anchor = AnchorStyles.None;
            dgw.AutoSize = true;
            dgw.BackColor = Color.FromArgb(210, 121, 84);
            dgw.Text = "Login";
            dgw.Padding = new Padding(10);
            dgw.BorderStyle = BorderStyle.FixedSingle;

【问题讨论】:

  • 你是否停靠过datagridview?或者有其他一些控制措施
  • 如果您锁定了设计视图(表单上的鼠标右键 -> 锁定控件),则可以选择其他选项
  • 我为我的 datagridview 添加了代码以及它的外观
  • 所以你不使用设计器...?
  • 没有。我自己编写代码:/

标签: c# winforms datagridview


【解决方案1】:

虽然从设计器创建表单要容易得多,但在表单代码上放置一个按钮就像创建数据网格一样简单。

private void CreateButton()
{
    var button = new Button
    {
        Text = "Press me",
        Name = "SomeButtonName",
        Location = new Point(10,10),
        Size    = new Size(100,20),
        Visible =  true,
    };

    button.Click += (s, e) => this.ButtonClicked();

    this.Controls.Add(button);
}

private void ButtonClicked()
{
    // this will fire on click
}

你可以在任何你喜欢的地方调用 `this.CreateButton()'。

【讨论】:

  • 谢谢。显然我的按钮隐藏在数据网格后面,这就是为什么我没有看到它被创建
猜你喜欢
  • 2015-06-08
  • 2016-10-28
  • 1970-01-01
  • 2016-01-11
  • 2016-12-07
  • 2011-11-20
  • 1970-01-01
相关资源
最近更新 更多