首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenFileDialog没有显示

OpenFileDialog没有显示
EN

Stack Overflow用户
提问于 2014-04-15 16:39:31
回答 1查看 4.8K关注 0票数 6

我有一个简单的代码:

代码语言:javascript
复制
private void buttonOpen_Click(object sender, EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        textBox2.Text = openFileDialog1.FileName;
    }
}

当我运行程序窗体时,不显示和退出调试模式。

在输出视图中写到:程序'4244 openfiledialog.vshost.exe: Managed (v4.0.30319)‘已经退出代码1073741855 (0x4000001f)。

我有Visual 2010专业。

Edit:form1.designer.cs

代码语言:javascript
复制
     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();
EN

回答 1

Stack Overflow用户

发布于 2014-04-15 18:23:46

通常,我在调用OpenFileDialog的事件中初始化并使用它。我想不出在什么情况下我会希望它成为我的窗户的一种财产。我要做的第一件事是删除它作为一个属性并在您的事件中初始化它。

代码语言:javascript
复制
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)。在您当前的代码中,我找不到会导致这种情况的任何东西。如果您正在访问非托管代码,则可能需要启用非托管代码调试。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23089664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档