加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – OpenFileDialog没有显示

发布时间:2020-12-15 22:03:27 所属栏目:百科 来源:网络整理
导读:我有这个简单的代码: private void buttonOpen_Click(object sender,EventArgs e){ if (openFileDialog1.ShowDialog() == DialogResult.OK) { textBox2.Text = openFileDialog1.FileName; }} 当我运行程序窗体时不显示并退出调试模式. In output view write
我有这个简单的代码:

private void buttonOpen_Click(object sender,EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        textBox2.Text = openFileDialog1.FileName;
    }
}

当我运行程序窗体时不显示并退出调试模式.

In output view writes:The program ‘[4244] openfiledialog.vshost.exe: Managed (v4.0.30319)’ has exited with code 1073741855 (0x4000001f).

我有Visual Studio 2010 Professional.

编辑:form1.designer.cs

private void InitializeComponent()
    {
        this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
        this.buttonOpen = new System.Windows.Forms.Button();
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.textBox2 = new System.Windows.Forms.TextBox();
        this.SuspendLayout();
        // 
        // openFileDialog1
        // 
        this.openFileDialog1.FileName = "openFileDialog1";
        // 
        // buttonOpen
        // 
        this.buttonOpen.Location = new System.Drawing.Point(13,48);
        this.buttonOpen.Name = "buttonOpen";
        this.buttonOpen.Size = new System.Drawing.Size(75,23);
        this.buttonOpen.TabIndex = 0;
        this.buttonOpen.Text = "open";
        this.buttonOpen.UseVisualStyleBackColor = true;
        this.buttonOpen.Click += new System.EventHandler(this.buttonOpen_Click);
        // 
        // textBox1
        // 
        this.textBox1.Location = new System.Drawing.Point(113,50);
        this.textBox1.Name = "textBox1";
        this.textBox1.Size = new System.Drawing.Size(279,20);
        this.textBox1.TabIndex = 1;
        // 
        // textBox2
        // 
        this.textBox2.Location = new System.Drawing.Point(13,98);
        this.textBox2.Name = "textBox2";
        this.textBox2.Size = new System.Drawing.Size(385,20);
        this.textBox2.TabIndex = 2;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F,13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(445,216);
        this.Controls.Add(this.textBox2);
        this.Controls.Add(this.textBox1);
        this.Controls.Add(this.buttonOpen);
        this.Name = "Form1";
        this.Text = "Form1";
        this.ResumeLayout(false);
        this.PerformLayout();

解决方法

作为一般规则,我在调用它的事件中初始化并使用我的OpenFileDialog.我想不出一种情况,我希望它成为我窗口的属性.我要做的第一件事就是将其删除为属性并在事件中初始化它.

private void buttonOpen_Click(object sender,EventArgs e)
{
    using (OpenFileDialog openFileDialog1 = new OpenFileDialog())
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            textBox2.Text = openFileDialog1.FileName;
        }
    }
}

您不需要将FileName属性设置为任何内容,因为对话框将为您执行此操作.

我在你的错误代码上找到的唯一一件事就是这个(Program and debugger quit without indication of problem).在您当前的代码中,我找不到任何可能导致此问题的内容.如果要访问非托管代码,则可能需要启用非托管代码调试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读