我无法使用FolderBrowserDialog设置位图
本文关键字:FolderBrowserDialog 设置 位图 | 更新日期: 2023-09-27 18:13:23
我正在尝试制作一个绘图应用程序。我创建了一个调用FolderBrowserDialog的函数,它可以工作。现在我的问题是,当试图使用它的地方设置。bmp文件,我得到"路径不是一个合法的形式"这里的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Paint_AppLication
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private bool mouse_down = false;
static string folderPath = "";
private Color col = Color.Black;
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
mouse_down = true;
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
mouse_down = false;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
toolStripStatusLabel1.Text = e.X + ", " + e.Y;
if(mouse_down == true)
{
bit = new Bitmap(bit, panel1.Size);
panel1.BackgroundImage = bit;
bit.SetPixel(e.X, e.Y, col);
}
}
private void button1_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog();
col = colorDialog1.Color;
}
private void Form1_Load(object sender, EventArgs e)
{
FolderBrowserDialog directchoosedlg = new FolderBrowserDialog();
if (directchoosedlg.ShowDialog() == DialogResult.OK)
{
folderPath = directchoosedlg.SelectedPath;
}
}
//My Error Is here
private Bitmap bit = new Bitmap(folderPath);
}
}
- 这条线
:
private Bitmap bit = new Bitmap(folderPath);
在创建了
Form1
的实例后立即执行。此时,folderPath
还没有初始化为一个实际的路径,它只是一个空字符串。设置folderPath
为实际路径后,需要初始化位图Bitmap
类的构造函数接受一个文件的路径,但是您试图将该路径传递给文件夹。你应该使用OpenFileDialog
而不是FolderBrowserDialog
。