Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c语言中没有图像显示#_C#_Winforms - Fatal编程技术网

C# c语言中没有图像显示#

C# c语言中没有图像显示#,c#,winforms,C#,Winforms,我创建了一个简单的windows窗体应用程序C#,它应该显示一张图片。下面是form1.cs的代码 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void pictureBox1_Click(object sender, EventArgs e) { // Construct an image ob

我创建了一个简单的windows窗体应用程序C#,它应该显示一张图片。下面是form1.cs的代码

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        // Construct an image object from a file in the local directory.
        // ... This file must exist in the solution.
        Image image = Image.FromFile("Picture1.png");
        // Set the PictureBox image property to this image.
        // ... Then, adjust its height and width properties.
        pictureBox1.Image = image;
        pictureBox1.Height = image.Height;
        pictureBox1.Width = image.Width;
    }
}
图像显示在解决方案文件夹中,但在应用程序运行时,窗口中仍不显示任何内容。没有编译错误

更新

现在问题解决了


如果没有完整路径,将无法从解决方案目录加载映像。。它将从执行可执行文件的目录加载。。当您从Visual Studio运行时,它是调试文件夹或发布文件夹。。取决于运行它的配置文件


因此,请将图像放入/bin/Debug文件夹,然后再次运行程序。

确保PictureBox click事件处理程序已注册。仅复制示例代码是不够的。(我只是猜测)


更好的选择是将此图像添加到项目中,然后执行以下两种操作之一:

  • 添加为资源。它以后可以与强类型一起使用
  • 在文件上设置此选项:
    Copy to Output Directory=Copy if newer

/bin/
下手动添加任何内容都不是一个好做法,因为这些文件夹是不稳定的,Visual Studio可以随时(通常在下次重建时)删除它们。

+1。看起来原始代码在VB.NET中,事件连接未转换。我从单击旁边的下拉列表中选择了pictureBox1\u单击。但仍然没有gainAs Simon Whitehead指出,文件路径可能是问题所在。如果您可以选择,请将图像添加到项目资源中(右键单击项目>属性>资源>添加资源>添加现有文件。这将在程序集中嵌入映像。然后,您可以使用
Properties.Resources.picturename
访问它。不需要文件路径!@gpuguy:您的代码缺少
pictureBox1+=新事件处理程序(pictureBox1\u单击)
初始化组件之后
。或者你是说它是在幕后完成的?你是否检查了
图片点击
是否通过在那里放置断点来触发?@OlivierJacot Descombes我在资源中添加了该文件。我现在在代码中需要做什么更改?