【问题标题】:Close C# form but not close calling application?关闭 C# 表单但不关闭调用应用程序?
【发布时间】:2014-02-09 22:16:35
【问题描述】:

我有一个从我们的 ERP 调用的项目。 ERP 调用 C# 项目中公开的函数,并来回传递信息。这很好用,但我遇到了“取消”按钮的问题。当单击取消按钮时,我希望它关闭 C# 表单而不返回任何内容.... 几乎只需终止 C# 中的任何操作并切断与 ERP 的连接。我尝试了多种形式的环境和应用程序命令,但它们也关闭了 ERP 和 C# 表单。对此有什么最佳方法的建议吗?我可以将对话框从按钮发送回 ERP,只是让 ERP 不做任何具有真实价值的事情,但我想知道是否没有更有效的方法来实现这一点。提前致谢。

编辑:这是包含按钮的表单上的当前代码。取消按钮是并且已经设置为 DialogResult = Cancel 以及...

问题是当这个表单被实例化时,某些函数会从 ERP 中被调用。使用 this.close() 会关闭表单,但它也会将值返回给 ERP,我不希望它这样做。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NavAutomation
{
    public partial class NAVForm : Form
    {
        public NAVForm(string frmName, int maxLen)
        {
            InitializeComponent();
        }

        private void NAVForm_Load(object sender, EventArgs e)
        {
        }

        public string RetVal1 { get; set; }
        public string txtB1 { get; set; }
        public int txtB1Len { get; set; }
        private void button2_Click(object sender, EventArgs e)
        {
            this.RetVal1 = textBox1.Text;

            this.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
            Application.Exit();
        }
    }
}

【问题讨论】:

  • 表单上的取消按钮是用来关闭的吗?也许您只需要在设计时设置Button.DialogResult 属性? app结构是什么真的不是很清楚……

标签: c# exit dynamics-nav formclosing


【解决方案1】:

我最终做了什么,效果很好的是默认 bool 为 true,然后在取消按钮/关闭按钮上传回 false,然后简单地退出我们 ERP 中的调用代码,它就像做梦一样工作。感谢 cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 2023-04-07
    • 1970-01-01
    • 2011-03-27
    相关资源
    最近更新 更多