Někdy potřebujeme vložit nebo naopak uložit ze schránky nějaký text, obrázek, nebo zvukovou stopu apod. K těmto účelům se využívá třída Clipboard ze jmenného prostoru System.Windows.Forms.
Pokud chceme do schránky vložit nějaký text tak ze třídy Clipboard použijeme metodu SetText, viz níže.
Clipboard.SetText(„Text pro vložení“);
Naopak pokud chceme ze schránky získat text, tak využijeme třídu GetText, viz níže.
string clipboarText = Clipboard.GetText();
Pokud pouze chceme zjistit, zda schránka obsahuje text tak lze využít metody ContainsText, viz níže.
bool cText = Clipboard.ContainsText();
Pokud metoda vrací true, tak schránka obsahuje text.
Podobně lze využít například metody pro práci s obrázky ve schránce SetImage, GetImage a ContainsImage a také pro práci se zvukovým souborem SetAudio, GetAudio a ContainsAudio.
Pokud chceme smazat obsah schránky tak využijeme metodu Clear, viz níže,
Clipboard.Clear();
Princip práce se schránkou demonstruje následující jednoduchý příklad zkopírování textu a obrázku, viz Obr. 1.
Vzorová aplikace obsahuje pět tlačítek („Button“), dva popisky („Label“) a dva obrázky (PictureBox), viz Tab. 1:
Tab. 1: Popis jednotlivých komponent
Jméno | Popisek | Akce | Popis |
buttonSetText | Vložit text | SetTextToClipboard | Vložení textu do schránky |
buttonGetText | Kopírovat text | GetTextToClipboard | Zkopírování textu ze schránky |
buttonSetPicture | Vložit obrázek | SetPictureToClipboard | Vložení obrázku do schránky |
buttonGetPicture | Kopírovat obrázek | GetPictureToClipboard | Zkopírování obrázku ze schránky |
buttonClearClipboard | Smazat obsah | ClearClipboard | Smazání obsahu schránky |
pictureBoxGetPicture | – | – | Místo pro zobrazení zkopírovaného obrázku |
pictureBoxSetPicture | – | – | Obrázek pro vložení do schránky |
labelGetText | – | – | Popisek pro zobrazení textu ze schránky |
labelSetText | Text pro vložení do schránky | – | Text pro vložení do schránky |
001: using System;
002: using System.Collections.Generic;
003: using System.ComponentModel;
004: using System.Data;
005: using System.Drawing;
006: using System.Linq;
007: using System.Text;
008: using System.Threading.Tasks;
009: using System.Windows.Forms;
010:
011: namespace cs11
012: {
013: public partial class Form1 : Form
014: {
015: public Form1()
016: {
017: InitializeComponent();
018: }
019:
020: private void SetTextToClipboard(object sender, EventArgs e)
021: {
022: // vlozit do schranky text
023: Clipboard.SetText(labelSetText.Text);
024: }
025:
026: private void GetTextToClipboard(object sender, EventArgs e)
027: {
028: // kontrola zda schranka obsahuje text
029: if (Clipboard.ContainsText())
030: {
031: // vlozit do popisku text
032: labelGetText.Text = Clipboard.GetText();
033: }
034: else
035: {
036: MessageBox.Show("Schránka neobsahuje text.", "Informace o schránce",
037: MessageBoxButtons.OK, MessageBoxIcon.Information);
038: }
039: }
040:
041: private void SetPictureToClipboard(object sender, EventArgs e)
042: {
043: // vlozit do schranky obrazek
044: Clipboard.SetImage(pictureBoxSetPicture.Image);
045: }
046:
047: private void GetPictureToClipboard(object sender, EventArgs e)
048: {
049: // kontrola zda schranka obsahuje obrazek
050: if (Clipboard.ContainsImage())
051: {
052: // vlozit do obrazku vlozeny obrazek
053: pictureBoxGetPicture.Image = Clipboard.GetImage();
054: }
055: else
056: {
057: MessageBox.Show("Schránka neobsahuje obrázek.", "Informace o schránce",
058: MessageBoxButtons.OK, MessageBoxIcon.Information);
059: }
060: }
061:
062: private void ClearClipboard(object sender, EventArgs e)
063: {
064: Clipboard.Clear();// smazat obsah schránky
065: }
066: }
067: }
[1] Microsoft Developer Network. Clipboard Methods[online] citováno 3. ledna 2015. Dostupné na www: http://msdn.microsoft.com/cs-cz/library/System.Windows.Forms.Clipboard_methods(v=vs.100).aspx
Následující: C# – Tipy, rady, návody – 12: Jak si vytvořit vlastní ovládací prvek
Předchozí: C# – Tipy, rady, návody – 10: Jak zjistit seznam dostupných sériových portů
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.
Komentáře