Sicherung

This commit is contained in:
Maier Stephan SI
2023-04-17 07:07:49 +02:00
parent f3f89b94f5
commit 1c68b8f401
1307 changed files with 7918 additions and 82491 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
</configuration>

View File

@@ -0,0 +1,470 @@
using WK.Libraries.SharpClipboardNS;
namespace SharpClipboardPreview.Tests
{
partial class MainForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.chkMonitorClipboard = new System.Windows.Forms.CheckBox();
this.lblTitle = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.lblOptions = new System.Windows.Forms.Label();
this.grpLibrarySettings = new System.Windows.Forms.GroupBox();
this.grpObservableFormats = new System.Windows.Forms.GroupBox();
this.lblObservableFilesDesc = new System.Windows.Forms.Label();
this.chkObserveFiles = new System.Windows.Forms.CheckBox();
this.lblObservableImagesDesc = new System.Windows.Forms.Label();
this.chkObserveImages = new System.Windows.Forms.CheckBox();
this.lblObservableTextsDesc = new System.Windows.Forms.Label();
this.chkObserveTexts = new System.Windows.Forms.CheckBox();
this.txtCopiedTexts = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.panel3 = new System.Windows.Forms.Panel();
this.pbCopiedImage = new System.Windows.Forms.PictureBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.panel4 = new System.Windows.Forms.Panel();
this.lstCopiedFiles = new System.Windows.Forms.ListBox();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.sharpClipboard1 = new WK.Libraries.SharpClipboardNS.SharpClipboard(this.components);
this.panel1.SuspendLayout();
this.grpLibrarySettings.SuspendLayout();
this.grpObservableFormats.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbCopiedImage)).BeginInit();
this.panel4.SuspendLayout();
this.SuspendLayout();
//
// chkMonitorClipboard
//
this.chkMonitorClipboard.AutoSize = true;
this.chkMonitorClipboard.Checked = true;
this.chkMonitorClipboard.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkMonitorClipboard.Font = new System.Drawing.Font("Segoe UI Semibold", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.chkMonitorClipboard.ForeColor = System.Drawing.Color.Black;
this.chkMonitorClipboard.Location = new System.Drawing.Point(20, 38);
this.chkMonitorClipboard.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkMonitorClipboard.Name = "chkMonitorClipboard";
this.chkMonitorClipboard.Size = new System.Drawing.Size(138, 21);
this.chkMonitorClipboard.TabIndex = 1;
this.chkMonitorClipboard.Text = "Monitor Clipboard";
this.chkMonitorClipboard.UseVisualStyleBackColor = true;
this.chkMonitorClipboard.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// lblTitle
//
this.lblTitle.AutoSize = true;
this.lblTitle.Font = new System.Drawing.Font("Segoe UI", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.lblTitle.ForeColor = System.Drawing.Color.DodgerBlue;
this.lblTitle.Location = new System.Drawing.Point(26, 16);
this.lblTitle.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblTitle.Name = "lblTitle";
this.lblTitle.Size = new System.Drawing.Size(155, 30);
this.lblTitle.TabIndex = 3;
this.lblTitle.Text = "SharpClipboard";
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.lblOptions);
this.panel1.Controls.Add(this.grpLibrarySettings);
this.panel1.Controls.Add(this.lblTitle);
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(364, 458);
this.panel1.TabIndex = 4;
//
// lblOptions
//
this.lblOptions.AutoSize = true;
this.lblOptions.Font = new System.Drawing.Font("Segoe UI", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.lblOptions.ForeColor = System.Drawing.Color.Black;
this.lblOptions.Location = new System.Drawing.Point(175, 16);
this.lblOptions.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblOptions.Name = "lblOptions";
this.lblOptions.Size = new System.Drawing.Size(86, 30);
this.lblOptions.TabIndex = 6;
this.lblOptions.Text = "Options";
//
// grpLibrarySettings
//
this.grpLibrarySettings.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.grpLibrarySettings.Controls.Add(this.grpObservableFormats);
this.grpLibrarySettings.Controls.Add(this.chkMonitorClipboard);
this.grpLibrarySettings.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.grpLibrarySettings.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.grpLibrarySettings.Location = new System.Drawing.Point(30, 66);
this.grpLibrarySettings.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.grpLibrarySettings.Name = "grpLibrarySettings";
this.grpLibrarySettings.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.grpLibrarySettings.Size = new System.Drawing.Size(304, 377);
this.grpLibrarySettings.TabIndex = 5;
this.grpLibrarySettings.TabStop = false;
this.grpLibrarySettings.Text = "Change library settings";
//
// grpObservableFormats
//
this.grpObservableFormats.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.grpObservableFormats.Controls.Add(this.lblObservableFilesDesc);
this.grpObservableFormats.Controls.Add(this.chkObserveFiles);
this.grpObservableFormats.Controls.Add(this.lblObservableImagesDesc);
this.grpObservableFormats.Controls.Add(this.chkObserveImages);
this.grpObservableFormats.Controls.Add(this.lblObservableTextsDesc);
this.grpObservableFormats.Controls.Add(this.chkObserveTexts);
this.grpObservableFormats.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.grpObservableFormats.ForeColor = System.Drawing.SystemColors.ActiveCaption;
this.grpObservableFormats.Location = new System.Drawing.Point(20, 85);
this.grpObservableFormats.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.grpObservableFormats.Name = "grpObservableFormats";
this.grpObservableFormats.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.grpObservableFormats.Size = new System.Drawing.Size(267, 275);
this.grpObservableFormats.TabIndex = 6;
this.grpObservableFormats.TabStop = false;
this.grpObservableFormats.Text = "Observable Formats";
//
// lblObservableFilesDesc
//
this.lblObservableFilesDesc.AutoSize = true;
this.lblObservableFilesDesc.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.lblObservableFilesDesc.ForeColor = System.Drawing.Color.Gray;
this.lblObservableFilesDesc.Location = new System.Drawing.Point(38, 212);
this.lblObservableFilesDesc.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblObservableFilesDesc.Name = "lblObservableFilesDesc";
this.lblObservableFilesDesc.Size = new System.Drawing.Size(176, 30);
this.lblObservableFilesDesc.TabIndex = 11;
this.lblObservableFilesDesc.Text = "Monitors any files/directories \r\nthat are copied to the clipboard.";
//
// chkObserveFiles
//
this.chkObserveFiles.AutoSize = true;
this.chkObserveFiles.Checked = true;
this.chkObserveFiles.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkObserveFiles.Font = new System.Drawing.Font("Segoe UI Semibold", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.chkObserveFiles.ForeColor = System.Drawing.Color.Black;
this.chkObserveFiles.Location = new System.Drawing.Point(20, 188);
this.chkObserveFiles.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkObserveFiles.Name = "chkObserveFiles";
this.chkObserveFiles.Size = new System.Drawing.Size(53, 21);
this.chkObserveFiles.TabIndex = 10;
this.chkObserveFiles.Text = "Files";
this.chkObserveFiles.UseVisualStyleBackColor = true;
this.chkObserveFiles.CheckedChanged += new System.EventHandler(this.chkObserveFiles_CheckedChanged);
//
// lblObservableImagesDesc
//
this.lblObservableImagesDesc.AutoSize = true;
this.lblObservableImagesDesc.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.lblObservableImagesDesc.ForeColor = System.Drawing.Color.Gray;
this.lblObservableImagesDesc.Location = new System.Drawing.Point(38, 138);
this.lblObservableImagesDesc.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblObservableImagesDesc.Name = "lblObservableImagesDesc";
this.lblObservableImagesDesc.Size = new System.Drawing.Size(164, 30);
this.lblObservableImagesDesc.TabIndex = 9;
this.lblObservableImagesDesc.Text = "Monitors any images that are \r\ncopied to the clipboard.";
//
// chkObserveImages
//
this.chkObserveImages.AutoSize = true;
this.chkObserveImages.Checked = true;
this.chkObserveImages.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkObserveImages.Font = new System.Drawing.Font("Segoe UI Semibold", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.chkObserveImages.ForeColor = System.Drawing.Color.Black;
this.chkObserveImages.Location = new System.Drawing.Point(20, 114);
this.chkObserveImages.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkObserveImages.Name = "chkObserveImages";
this.chkObserveImages.Size = new System.Drawing.Size(71, 21);
this.chkObserveImages.TabIndex = 8;
this.chkObserveImages.Text = "Images";
this.chkObserveImages.UseVisualStyleBackColor = true;
this.chkObserveImages.CheckedChanged += new System.EventHandler(this.chkObserveImages_CheckedChanged);
//
// lblObservableTextsDesc
//
this.lblObservableTextsDesc.AutoSize = true;
this.lblObservableTextsDesc.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.lblObservableTextsDesc.ForeColor = System.Drawing.Color.DimGray;
this.lblObservableTextsDesc.Location = new System.Drawing.Point(38, 62);
this.lblObservableTextsDesc.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblObservableTextsDesc.Name = "lblObservableTextsDesc";
this.lblObservableTextsDesc.Size = new System.Drawing.Size(151, 30);
this.lblObservableTextsDesc.TabIndex = 7;
this.lblObservableTextsDesc.Text = "Monitors any texts that are \r\ncopied to the clipboard.";
//
// chkObserveTexts
//
this.chkObserveTexts.AutoSize = true;
this.chkObserveTexts.Checked = true;
this.chkObserveTexts.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkObserveTexts.Font = new System.Drawing.Font("Segoe UI Semibold", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.chkObserveTexts.ForeColor = System.Drawing.Color.Black;
this.chkObserveTexts.Location = new System.Drawing.Point(20, 38);
this.chkObserveTexts.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.chkObserveTexts.Name = "chkObserveTexts";
this.chkObserveTexts.Size = new System.Drawing.Size(58, 21);
this.chkObserveTexts.TabIndex = 1;
this.chkObserveTexts.Text = "Texts";
this.chkObserveTexts.UseVisualStyleBackColor = true;
this.chkObserveTexts.CheckedChanged += new System.EventHandler(this.chkObserveTexts_CheckedChanged);
//
// txtCopiedTexts
//
this.txtCopiedTexts.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtCopiedTexts.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.txtCopiedTexts.Location = new System.Drawing.Point(9, 80);
this.txtCopiedTexts.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.txtCopiedTexts.Multiline = true;
this.txtCopiedTexts.Name = "txtCopiedTexts";
this.txtCopiedTexts.Size = new System.Drawing.Size(275, 362);
this.txtCopiedTexts.TabIndex = 5;
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.Honeydew;
this.panel2.Controls.Add(this.label1);
this.panel2.Controls.Add(this.txtCopiedTexts);
this.panel2.Controls.Add(this.label2);
this.panel2.Dock = System.Windows.Forms.DockStyle.Left;
this.panel2.Location = new System.Drawing.Point(364, 0);
this.panel2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(294, 458);
this.panel2.TabIndex = 6;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Segoe UI", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.label1.ForeColor = System.Drawing.Color.Black;
this.label1.Location = new System.Drawing.Point(29, 16);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(130, 30);
this.label1.TabIndex = 7;
this.label1.Text = "Copied Texts";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.label2.Location = new System.Drawing.Point(31, 50);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(99, 15);
this.label2.TabIndex = 8;
this.label2.Text = "will appear here...";
//
// panel3
//
this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(234)))), ((int)(((byte)(234)))), ((int)(((byte)(255)))));
this.panel3.Controls.Add(this.pbCopiedImage);
this.panel3.Controls.Add(this.label3);
this.panel3.Controls.Add(this.label4);
this.panel3.Dock = System.Windows.Forms.DockStyle.Left;
this.panel3.Location = new System.Drawing.Point(658, 0);
this.panel3.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(294, 458);
this.panel3.TabIndex = 7;
//
// pbCopiedImage
//
this.pbCopiedImage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pbCopiedImage.BackColor = System.Drawing.Color.Transparent;
this.pbCopiedImage.Image = ((System.Drawing.Image)(resources.GetObject("pbCopiedImage.Image")));
this.pbCopiedImage.Location = new System.Drawing.Point(8, 80);
this.pbCopiedImage.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.pbCopiedImage.Name = "pbCopiedImage";
this.pbCopiedImage.Size = new System.Drawing.Size(276, 361);
this.pbCopiedImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.pbCopiedImage.TabIndex = 9;
this.pbCopiedImage.TabStop = false;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Segoe UI", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.label3.ForeColor = System.Drawing.Color.Black;
this.label3.Location = new System.Drawing.Point(29, 16);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(163, 30);
this.label3.TabIndex = 7;
this.label3.Text = "Copied Image(s)";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.label4.Location = new System.Drawing.Point(31, 50);
this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(99, 15);
this.label4.TabIndex = 8;
this.label4.Text = "will appear here...";
//
// panel4
//
this.panel4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.panel4.BackColor = System.Drawing.Color.Ivory;
this.panel4.Controls.Add(this.lstCopiedFiles);
this.panel4.Controls.Add(this.label5);
this.panel4.Controls.Add(this.label6);
this.panel4.Location = new System.Drawing.Point(952, 0);
this.panel4.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(294, 458);
this.panel4.TabIndex = 8;
//
// lstCopiedFiles
//
this.lstCopiedFiles.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lstCopiedFiles.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lstCopiedFiles.FormattingEnabled = true;
this.lstCopiedFiles.HorizontalScrollbar = true;
this.lstCopiedFiles.ItemHeight = 15;
this.lstCopiedFiles.Location = new System.Drawing.Point(9, 80);
this.lstCopiedFiles.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.lstCopiedFiles.Name = "lstCopiedFiles";
this.lstCopiedFiles.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.lstCopiedFiles.Size = new System.Drawing.Size(275, 362);
this.lstCopiedFiles.TabIndex = 11;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Segoe UI", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.label5.ForeColor = System.Drawing.Color.Black;
this.label5.Location = new System.Drawing.Point(29, 16);
this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(136, 30);
this.label5.TabIndex = 7;
this.label5.Text = "Copied File(s)";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.label6.Location = new System.Drawing.Point(31, 50);
this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(99, 15);
this.label6.TabIndex = 8;
this.label6.Text = "will appear here...";
//
// sharpClipboard1
//
this.sharpClipboard1.MonitorClipboard = true;
this.sharpClipboard1.ObservableFormats.All = true;
this.sharpClipboard1.ObservableFormats.Files = true;
this.sharpClipboard1.ObservableFormats.Images = true;
this.sharpClipboard1.ObservableFormats.Others = true;
this.sharpClipboard1.ObservableFormats.Texts = true;
this.sharpClipboard1.ObserveLastEntry = true;
this.sharpClipboard1.Tag = null;
this.sharpClipboard1.ClipboardChanged += new System.EventHandler<WK.Libraries.SharpClipboardNS.SharpClipboard.ClipboardChangedEventArgs>(this.sharpClipboard1_ClipboardChanged);
this.sharpClipboard1.MonitorClipboardChanged += new System.EventHandler<System.EventArgs>(this.sharpClipboard1_MonitorClipboardChanged);
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1246, 458);
this.Controls.Add(this.panel4);
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "SharpClipboard: Tests";
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.grpLibrarySettings.ResumeLayout(false);
this.grpLibrarySettings.PerformLayout();
this.grpObservableFormats.ResumeLayout(false);
this.grpObservableFormats.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pbCopiedImage)).EndInit();
this.panel4.ResumeLayout(false);
this.panel4.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private SharpClipboard sharpClipboard1;
private System.Windows.Forms.CheckBox chkMonitorClipboard;
private System.Windows.Forms.Label lblTitle;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.GroupBox grpLibrarySettings;
private System.Windows.Forms.GroupBox grpObservableFormats;
private System.Windows.Forms.CheckBox chkObserveTexts;
private System.Windows.Forms.Label lblOptions;
private System.Windows.Forms.Label lblObservableFilesDesc;
private System.Windows.Forms.CheckBox chkObserveFiles;
private System.Windows.Forms.Label lblObservableImagesDesc;
private System.Windows.Forms.CheckBox chkObserveImages;
private System.Windows.Forms.Label lblObservableTextsDesc;
private System.Windows.Forms.TextBox txtCopiedTexts;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.PictureBox pbCopiedImage;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.ListBox lstCopiedFiles;
}
}

View File

@@ -0,0 +1,129 @@
using System;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;
using System.Collections.Generic;
using WK.Libraries.SharpClipboardNS;
namespace SharpClipboardPreview.Tests
{
/// <summary>
/// The main application window.
/// </summary>
public partial class MainForm : Form
{
#region Constructor
public MainForm()
{
InitializeComponent();
// Assign the various checkboxes to enable/disable
// the supported clipboard formats respectively.
chkMonitorClipboard.Checked = sharpClipboard1.MonitorClipboard;
chkObserveTexts.Checked = sharpClipboard1.ObservableFormats.Texts;
chkObserveFiles.Checked = sharpClipboard1.ObservableFormats.Files;
chkObserveImages.Checked = sharpClipboard1.ObservableFormats.Images;
}
#endregion
#region Events
private void sharpClipboard1_MonitorClipboardChanged(object sender, EventArgs e)
{
chkMonitorClipboard.Checked = sharpClipboard1.MonitorClipboard;
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
sharpClipboard1.MonitorClipboard = chkMonitorClipboard.Checked;
}
private void chkObserveTexts_CheckedChanged(object sender, EventArgs e)
{
sharpClipboard1.ObservableFormats.Texts = chkObserveTexts.Checked;
}
private void chkObserveImages_CheckedChanged(object sender, EventArgs e)
{
sharpClipboard1.ObservableFormats.Images = chkObserveImages.Checked;
}
private void chkObserveFiles_CheckedChanged(object sender, EventArgs e)
{
sharpClipboard1.ObservableFormats.Files = chkObserveFiles.Checked;
}
private void sharpClipboard1_ClipboardChanged(object sender, SharpClipboard.ClipboardChangedEventArgs e)
{
if (e.ContentType == SharpClipboard.ContentTypes.Text)
{
txtCopiedTexts.Text = sharpClipboard1.ClipboardText;
// Alternatively, you can use:
// ---------------------------
// txtCopiedTexts.Text = (string)e.Content;
}
else if (e.ContentType == SharpClipboard.ContentTypes.Image)
{
pbCopiedImage.Image = sharpClipboard1.ClipboardImage;
// Alternatively, you can use:
// ---------------------------
// pbCopiedImage.Image = (Image)e.Content;
}
else if (e.ContentType == SharpClipboard.ContentTypes.Files)
{
// Declare variable to add the list of copied files.
List<string> files = new List<string>();
// Add all copied files to the declared variable.
foreach (string file in sharpClipboard1.ClipboardFiles)
{
files.Add(Path.GetFileName(file));
}
Debug.WriteLine(sharpClipboard1.ClipboardFiles.ToArray());
// Add all copied files to the files ListBox.
lstCopiedFiles.Items.Clear();
lstCopiedFiles.Items.AddRange(files.ToArray());
// Alternatively, you can use:
// ---------------------------
// lstCopiedFiles.Items.AddRange(((List<string>)e.Content).ToArray()));
}
else if (e.ContentType == SharpClipboard.ContentTypes.Other)
{
// Do something with 'e.Content' or alternatively
// 'sharpClipboard1.ClipboardObject' property here...
// A great example is when a user has copied an Outlook Mail item.
// Such an item will be of a complex object-type that can be parsed and
// examined using the 'Microsoft.Office.Interop.Outlook' namespace features.
// See here: https://stackoverflow.com/questions/25375367/how-to-copy-mailitem-in-outlook-c-sharp
// You can however still use the 'ClipboardText' property if you
// prefer simply displaying the copied object in text format.
txtCopiedTexts.Text = sharpClipboard1.ClipboardText.ToString();
}
// If you wish to get details of the application from where
// any text, file, image or other objects were cut/copied,
// simply add a TextBox and uncomment the lines below.
// --------------------------------------------------------
// textBox1.Text =
// $"Name: {e.SourceApplication.Name} \n" +
// $"Title: {e.SourceApplication.Title} \n" +
// $"ID: {e.SourceApplication.ID} \n" +
// $"Handle: {e.SourceApplication.Handle} \n" +
// $"Path: {e.SourceApplication.Path}";
// --------------------------------------------------------
// This could come in-handy if you're developing a clipboard-monitoring app.
}
#endregion
}
}

View File

@@ -0,0 +1,306 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing.Common" name="System.Drawing.Common, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" />
<data name="pbCopiedImage.Image" type="System.Drawing.Bitmap, System.Drawing.Common" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
9vdqgABAYp4I892Hp6endx04cOBr77zzTjk/onyyCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAA
IG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggA
ANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosA
ACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbII
AADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaL
AAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2y
CAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANIm
iwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBt
sggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADS
JosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAg
bbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA
0iaLAAAgbbIIAADSJosAACBtsggAANImiwAAIG2yCAAA0iaLAAAgbbIIAADSJosAACBtsggAANImiwAA
IG2yCAAA0iaLAAAgZV8Z+H8/k+/WS0mpwAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">
<value>65</value>
</metadata>
</root>

View File

@@ -0,0 +1,19 @@
using System;
using System.Windows.Forms;
namespace SharpClipboardPreview.Tests
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SharpClipboard Tests")]
[assembly: AssemblyDescription("A testing project for the SharpClipboard library.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Willy Kimura")]
[assembly: AssemblyProduct("SharpCliboard - Testing Project")]
[assembly: AssemblyCopyright("Copyright © 2019, Willy Kimura.")]
[assembly: AssemblyTrademark("A product of Willy Kimura.")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("86f8eac7-259d-4a2f-842d-aa93163293c0")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace SharpClipboardPreview.Tests.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SharpClipboardPreview.Tests.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace SharpClipboardPreview.Tests.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,45 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFrameworks>netcoreapp3.0;net20</TargetFrameworks>
<UseWindowsForms>true</UseWindowsForms>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<RootNamespace>SharpClipboardPreview.Tests</RootNamespace>
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net20' ">
<Reference Include="System.Design" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SharpClipboard\SharpClipboard.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project>