intTypePromotion=1
ADSENSE

Sử dụng clipboard

Chia sẻ: HA KIEN | Ngày: | Loại File: PDF | Số trang:3

176
lượt xem
12
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Clipboard là nơi lưu trữ dữ liệu khi chúng ta thực hiện copy hay cắt một đoạn văn bản, một hình ảnh, một file, thư mục... Vì việc xử lí trên clipboard thuộc dạng common across process (nghĩa là nó có thể truy xuất đồng thời bởi nhiều tiến trình (process)), chúng ta thường ứng dụng clipboard để truyền dữ liệu giữa 2 process.

Chủ đề:
Lưu

Nội dung Text: Sử dụng clipboard

  1. Clipboard là nơi lưu trữ dữ liệu khi chúng ta thực hiện copy hay cắt một đoạn văn bản, một hình ảnh, một file, thư mục... Vì việc xử lí trên clipboard thuộc dạng common across process (nghĩa là nó có thể truy xuất đồng thời bởi nhiều tiến trình (process)), chúng ta thường ứng dụng clipboard để truyền dữ liệu giữa 2 process. Bài viết này sẽ giới thiệu đến các bạn các thao tác với clipboard xử dụng .Net framework. Cuối cùng là một ví dụ về truy xuất clipboard cùng hướng dẫn demo. 1. Đối tượng Clipboard: Lớp Clipboard nằm trong namespace System.Windows.Forms, thuộc loại không thể kế thừa được và không có public constructor. Đây là một lớp đơn giản tượng trưng cho Windows Clipboard và chỉ có 2 hàm hành sự GetDataObject và SetDataObject. Hàm SetDataObject cho chép dữ liệu lên clipboard, còn GetDataObject thì lại tìm đọc dữ liệu được lưu trữ trên clipboard. Dữ liệu trả về sẽ được biểu diễn như là một đối tượng có giao diện IdataObject. Thế IdataObject là gì? IdataObject là một interface cung cấp mộ t cơ chế hoàn toàn độc lập với dạng thức để chuyển giao dữ liệu. Dữ liệu được chuyển đi có thể là text, bitmap, wave audio file, hoặc nhiều dạng thức khác. Lớp DataFormats chứa một danh sách các dạng thức đã định sẵn trước trực tiếp được hỗ trợ bởi .Net Framework. Interface IdataObject có 4 hàm hành sự nạp chồng (overload): GetData, SetData, GetDataPresent và GetFormats. Hàm SetData dùng lưu trữ dữ liệu theo một dạng thứ được khai báo (text hoặc bitmap chẳng hạn). Còn GetDataPresent thì dùng kiểm tra dữ liệu tr ong clipboard đã có mặt chưa hoặc có thể được chuyển đổi thành một dạng thức nào đó. Muốn tìm đọc dữ liệu được gắp liền với một dạng thức được khai báo thì dùng hàm GetData. Cuối cùng, hàm GetFormats trả về một danh sách tất cả các dạng thức được gắn liền vớ i dữ liệu kể cả các dạng thức mà dữ liệu có thể được chuyển đổi. 2. Sao chép Text lên và xuống Clipboard: Sao chép text item lên và xuống clipboard có thể là đơn giản, như trong trường hợp sao chép một chuỗi từ chỗ này qua chỗ kia trên một tài liệu, hoặc nó có thể phức tạp như sao chép text từ một Web browser lên một ứng dụng khác có thể thụ lý hoặc không các tab HTML. Trường hợp sau bắt buộc phải dùng SetData lên clipboard với nhiều dạng thức ngay lập tức. Hàm SetData có thể được dùng để trữ nhiều dạng thức của một mẩu dữ liệu trong một đối tượng DataObject trước khi chuyển nó vào clipboard. Còn hàm GetFormats đã nói trước đây sau đó có thể đem dùng để liệt kê các dạng thức có sẵn khi dữ liệu được đọc vào, như vậy, ứng dụng có thể dù ng dạng thức thích ứng nhất trước khi dùng dữ liệu. Bạn để ý là chưa hề có kiểm tra dữ liệu để bảo đảm là một item sẽ được trữ như là HTML hoặc RTF thật sự là trong dạng thức này. Ứng dụng nào tiếp nhận dữ liệu không nên giả định là item được tìm thấy thật sự nằm ở dạng thức mong muốn. Đoạn mã sau dùng để copy một đoạn text: Biên tập: thienthanit@yahoo.com Nguồn: Internet
  2. Clipboard.SetDataObject(textBox.SelectedText, true); Còn đoạn mã này để paste một đoạn text: IDataObject clipboard = Clipboard.GetDataObject(); textBox.Text = (clipboard.GetData(DataFormats.Text)).ToString(); 3. Sao chép hình ảnh lên và xuống Clipboard: Dùng hình ảnh với clipboard thì cũng tương tự như với text. Cũng những hàm hành sự kể trên sẽ được dùng để điền đầy dữ liệu, truy vấn và tìm đọc lại dữ liệu từ clipboard. Nhiều dạng thức khác nhau của một hình ảnh có thể được sao chép để dùng với ứng dụng khác. Một vài dạng thức có thể được dùng với hình ảnh bao gồm Bitmap, DeviceIndependentBitmap, MetaFilePict, EnhancedMetafile và TaggedImageFile Format. Đoạn mã sau dùng để copy một hình ảnh: Clipboard.SetDataObject(pictureBox.Image, true); Tương tự, để paste một hình ảnh, ta dùng: IDataObject clipboard = Clipboard.GetDataObject(); pictureBox.Image = (Bitmap)clipboard.GetData(DataFormats.Bitmap); 4. Hướng dẫn dùng chương trình demo: Giao diện của chương trình như sau: Biên tập: thienthanit@yahoo.com Nguồn: Internet
  3. Để thực hiện chức năng copy text, bạn gõ các kí tự vào ô textBox, chọn (bôi đen) rồi bấm nút Copy. Để thực hiện chức năng past text, bạn click vào nút Paste (bên ô textBox). Hoặc có thể mở notepad lên, gõ thử một câu, bôi đen rồi bấm Ctrl + C để copy. Sau đó bấm vào nút Paste trong chương trình, đo ạn text cũng được sao chép vào ô textBox. Còn để thực hiện chức năng copy, paste hình ảnh, bạn thử dùng chương trình Paint. Mở Paint lên, vẽ một vài thứ gì đó rồi thực hiện copy. Qua chương trình demo, bạn bấm vào Paste, hình ảnh sẽ được dán vào picutureBox. Biên tập: thienthanit@yahoo.com Nguồn: Internet
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2