2011-08-18 115 views
0

上传图片有谁知道,如果有一个控制,允许用户将图片上传到Windows窗体?或者任何示例代码来完成这一点。在WinForms应用程序

我使用双赢的形式应用

感谢,

+1

上传图像到Windows窗体?这对我来说毫无意义。你可以从互联网上下载一个图像到一个winform--你想要什么? – LarsTech

+0

@Larstech ..我有成员形成..in,我需要增加新的成员详细信息和成员形象也因此没有任何选项,点击按钮,就像文件上传控制在asp.net ....上传从系统图像... –

回答

4

要允许用户选择文件在Windows窗体应用程序,你应该考虑使用OpenFileDialog类。

要使用窗体上的对话框中,您将需要找到在工具箱在Visual Studio中,将其拖动到您的形式。

一旦与表单关联,那么你可以从你的代码中调用该对话框,如下所示:

if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    string selectedFile = openFileDialog1.FileName; 
} 

然后,您可以使用文件路径来执行你希望与文件的任何任务。

注意:您可以使用FileDialog.Filter Property来限制用户在使用对话框时可以选择的文件扩展名(您的案例中的图像)的类型。

+0

OKK我必须这样做,当用户点击该按钮如何。如果你是新来的窗口做到这一点....... –

+0

窗体应用程序签出以下基本教程,介绍了如何添加一个按钮并设置一个点击事件。 [教程](http://msdn.microsoft.com/en-us/library/z9w2f38k.aspx)您需要将打开的对话框调用代码添加到此单击事件中。 – jdavies

+1

您最好从C#和Windows窗体上的一些书开始,因为如果没有这些基础知识就很难开始编程。无论如何,你需要添加按钮的事件处理程序。您可以通过手动编程或在Windows窗体设计器中单击按钮两次。 –

2

这注清楚你要去哪里上传图片。如果您只想在简单的桌面应用程序中使用图像,则可以使用OpenFileDialog来允许用户选择图像文件。然后你可以在你的应用程序中使用这个图像路径。如果你想把这个图像上传到数据库,你可以使用类似FileStream类的东西将这个图像读入内存。

+0

做ü有任何示例代码做这个.....我到底需要什么ü告诉.... –

+0

安德烈给了你答案,所以如果你喜欢这个给予好评他:去这里对于System.Drawing.Image控件,您可以使用它来打开,转换并显示图像:http://msdn.microsoft.com/en-us/library/system.drawing.image.aspx ,这里是OpenFileDialog示例:http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx ...您可以在图片控件IIRC中显示图片对象。 – hoodaticus

+0

我没有代码。尝试自己做一些编程,它应该很容易。并提出问题,我们会尽力帮助你。 –

1
OpenFileDialog open = new OpenFileDialog(); 
open.Filter = "Image Files(*.jpeg;*.bmp;*.png;*.jpg)|*.jpeg;*.bmp;*.png;*.jpg"; 
if (open.ShowDialog() == DialogResult.OK) 
{ 
    textBox10.Text = open.FileName; 
} 
cn.Open(); 
string image = textBox10.Text; 
Bitmap bmp = new Bitmap(image); 
FileStream fs = new FileStream(image, FileMode.Open, FileAccess.Read); 
byte[] bimage = new byte[fs.Length]; 
fs.Read(bimage, 0, Convert.ToInt32(fs.Length)); 
fs.Close(); 
SqlCommand cmd = new SqlCommand("insert into tbl_products(Product_image) values(@imgdata)", cn); 
cmd.Parameters.AddWithValue("@imgdata", SqlDbType.Image).Value = bimage; 
cmd.ExecuteNonQuery(); 
cn.Close(); 
0
private void cmdBrowser_Click(object sender, EventArgs e) 
     { 
      OpenFileDialog fileOpen = new OpenFileDialog(); 
      fileOpen.Title = "Open Image file"; 
      fileOpen.Filter = "JPG Files (*.jpg)| *.jpg"; 

      if (fileOpen.ShowDialog() == DialogResult.OK) 
      { 
       picImage.Image = Image.FromFile(fileOpen.FileName); 
      } 
      fileOpen.Dispose(); 
     }