shweta
shweta

Reputation: 91

C# Inputbox cancel button does not work

I have below code on my browse button. How can I write code for inputbox cancel button.

private void btnbrowse_Click(object sender, EventArgs e)
{
    String sf_no = Microsoft.VisualBasic.Interaction.InputBox(
        "You are uploading File For SF NO. ", "Information", def, -1, -1);

    ofd.ShowDialog();
    ofd.Multiselect = true;
    string[] result = ofd.FileNames;

    foreach (string y in result)
    {
        String path = y.Substring(0, y.LastIndexOf("\\"));
        String filename = y.Substring(y.LastIndexOf("\\"));
        string[] row = new string[] { sf_no,path, filename };
        dataGridView2.Rows.Add(row);
    }
}

Upvotes: 0

Views: 2214

Answers (1)

Martheen
Martheen

Reputation: 5644

On Cancellation of InputBox, the return value is an empty string, so your code would be

if (sf_no!="")
{
//ok stuff here, including the showdialog logic as shown below
}
{
//cancel stuff here
}

Since ofd.ShowDialog can also be cancelled your code should be :

if (ofd.ShowDialog()==DialogResult.OK)
{ 
//do stuff on OK button 
}
else 
{
//do stuff on Cancel button
}

Either call ofd.Multiselect = true; before calling ShowDialog() or set it on Properties box if you'll always have Multiselect anyway.

Thus, your new code are now :

private void btnbrowse_Click(object sender, EventArgs e)
    {

       String sf_no = Microsoft.VisualBasic.Interaction.InputBox("You are uploading File For SF NO. ", "Information", def, -1, -1);

       if (sf_no!="") //we got the sf_no
       {
           ofd.Multiselect = true;
           if (ofd.ShowDialog()==DialogResult.OK)//user select file(s)
           {

                string[] result = ofd.FileNames;          

                foreach (string y in result)
                {

                  String path = System.IO.Path.GetDirectoryName(y);
                  String filename = System.IO.Path.GetFileName(y);
                  string[] row = new string[] { sf_no,path, filename };
                  dataGridView2.Rows.Add(row);
                 }
           }
           else
           {
           //handle what happen if user click cancel while selecting file  
           }
       }
       else
       {
       //handle what happen if user click cancel while entering SF NO
       }





    }

Upvotes: 2

Related Questions