همان طوری که می دانید Clipboard مجموعه ای از توابع و پیام هاست که به برنامه ها اجازه نقل و انتقال داده را می دهد، چون همه برنامه ها به Clipboard دسترسی دارند انتقال اطلاعات بین چند برنامه یا یک برنامه خاص به سادگی صورت می گیرد. این یادداشت توضیح می دهد که داده های Clipboard را چگونه به کمک سی شارپ مدیریت و در فایل ذخیره کنیم.
در این نوشته من از کلاس System.Windows.Forms.Clipboard استفاده خواهم کرد. این کلاس متدهایی برای قرار دادن و بازیابی اطلاعات موجود در Clipboard برای ما فراهم می کند. تمام متدهای فراهم شده توسط این کلاس استاتیک هستند به این معنی که برای استفاده از آن ها نیازی ندارید که یک شی از این کلاس بسازید.
و اما کد برنامه
کد PHP:
         [LEFT]if (Clipboard.GetDataObject() != null)
{
    
IDataObject data Clipboard.GetDataObject();
    if (
data.GetDataPresent(DataFormats.Bitmap))
    {
        
Image image = (Image)data.GetData(DataFormats.Bitmap,true);
        
image.Save("image.bmp",System.Drawing.Imaging.ImageFormat.Bmp);
        
image.Save("image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);
        
image.Save("image.gif",System.Drawing.Imaging.ImageFormat.Gif);
    }
    else
    {
        
MessageBox.Show("The Data In Clipboard is not as image format");
    }
}
else
{
    
MessageBox.Show("The Clipboard was empty");
}
[/
LEFT
حالا توضیح برنامه :
- متد GetDataObject() اطلاعاتی که درون Clipboard هست را نشان می دهد بنابراین می توانیم از آن برای گرفتن داده های درون Clipboard یا چک کردن وجود داده در آن استفاده کنیم.
- چون داده هایی که درون Clipboard قرار می گیرند از انواع داده ای مختلفی هستند این متد یک داده از نوع
IDataObject برمی گرداند بنابراین من یک شی از نوع اینترفیس IDataObject ساختم و آن را بوسیله مقدار بازگشتی از تابع etDataObject() مقدار دهی اولیه کردم:
کد PHP:
[LEFT]IDataObject data Clipboard.GetDataObject(); 
[/
LEFT
- بعد از این ما می توانیم شی data را برای مدیریت اطلاعاتی که از GetDataObject() یا Clipboard می آیند استفاده کنیم.
- حالا نوع این داده که در شی data قرار گرفته است را بررسی می کنیم:
کد PHP:
[LEFT]if (data.GetDataPresent(DataFormats.Bitmap)) 
[/
LEFT
یا آن را به یک فرمت مناسب مثل فرمت تصویری تبدیل می کنیم :
کد PHP:
[LEFT]Image image = (Image)data.GetData(DataFormats.Bitmap,true); 
[/
LEFT
اگر فرمت داده ما ماهیت تصویری نداشته باشد این مطلب را به کمک یک Message Box به کاربر اعلام می کنیم:
کد PHP:
[LEFT]MessageBox.Show("The Data In Clipboard is not as image format");
[/
LEFT
[برای نمایش لینک باید عضو شوید. ]