我正在试图弄清楚如何编写代码以便在我的小程序中快速打开PNG文件。这是场景:
然后,当程序处于活动状态时,我希望能够
我已经能够进行“预定”的图片显示,并打开了一个“打开文件对话框”,但不是我在这里谈论的直接方法。
答案 0 :(得分:1)
我的解决方案并不完美,需要进行大量额外检查
无论如何,它是您需求的起点
首先在表单上设置KeyPreview = true
然后使用:
public partial class Form1 : Form
{
private bool reading = false;
private byte dirSize = 2;
private byte filesize = 2;
private string keys = "";
private const string defExt = ".png";
private string exePath =
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.O)
{
reading = true;
keys = "";
e.Handled = true;
return;
}
if (reading)
{
Char ch = (char)(e.KeyValue);
if (Char.IsLetterOrDigit(ch))
{
keys += ch;
e.Handled = true;
}
if (keys.Length == (dirSize + filesize))
{
string dir = Path.Combine(exePath, keys.Substring(0, dirSize));
string filename = keys.Substring(dirSize, filesize) + defExt;
string fullPath = Path.Combine(dir, filename);
if (File.Exists(fullPath))
pictureBox1.Image = Image.FromFile(fullPath);
reading = false;
}
}
}
}