首先,我制作了一个具有拖放功能的桌面 AIR 应用程序来查看磁贴图像,但由于一些问题,我尝试在 C# 中制作相同的内容。你认为什么是更好的选择?(我知道这个小程序的性能不是问题,但我的意思是两者的难度和复杂性)
我正在构建一个简单的 TileViewer,因此在 openFileDialog 中选择了一张图片并将其设置为 Form 的平铺 BackgroundImage。
我的问题是:
- 我一直在使用计时器(interval = 500)来重新加载图像,所以如果我在 Photoshop 中编辑图像,TileViewer 将自动重新加载更新的图像(因为我将其保存在 Photoshop 中)。 - 但问题是 Photoshop 没有这样做的权限,因为图像是在其他程序(我的 TileViewer)中打开的 
- 我删除了计时器并制作了一个刷新按钮。但它是同样的问题。 
我想制作一个位图数据的副本,但后来我得到一个错误,我没有足够的内存用于 32px x 32px img。
我的代码:
    private string FileName;
    public Form1() {
        InitializeComponent();
        FileName = "";
    }
    // OPEN FILE btn
    private void button1_Click( object sender, EventArgs e ) {
        openFileDialog1.Filter = "PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg";
        if(openFileDialog1.ShowDialog() == DialogResult.OK) {
            button2.Enabled = true;
            FileName = openFileDialog1.FileName;
            setImage();
        }
    }
    // REFRESH btn
    private void button2_Click( object sender, EventArgs e ) {
        if( FileName != "" ) {
            setImage();
        }
    }
    private void setImage() {
        Bitmap tempImg = new Bitmap( FileName );
        Rectangle rect = new Rectangle(0, 0, 100, 100);
        PixelFormat format = tempImg.PixelFormat;
        this.BackgroundImage = new Bitmap( FileName ).Clone( rect, format );
    }
所以小伙伴们,如果你有任何建议或解决方案,请告诉我。