📄 touchscreenexplorer.cs
字号:
/* *************************************************
* Development : Rajesh Lal(connectrajesh@hotmail.com)
* Date: 04/15/2007
* Company Info: www.csharptricks.com
* See EULA.txt and Copyright.txt for additional information
* **************************************************/
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
namespace PenFlicksDemo
{
public class TouchScreenExplorer : PenFlicksDemo.BasePane
{
private System.Windows.Forms.ImageList imglpreview;
private Controls.Development.ImageListBox listBox1;
private System.ComponentModel.IContainer components = null;
public delegate void ImageNextEventHandler(object sender, EventArgs e);
public delegate void ImageChangedEventHandler(object sender, EventArgs e);
public delegate void SelectFolderEventHandler(object sender, EventArgs e);
public delegate void GoBackEventHandler(object sender, EventArgs e);
public delegate void GoForwardEventHandler(object sender, EventArgs e);
private ImageChangedEventHandler ImageChangedEvent;
private SelectFolderEventHandler SelectFolderEvent;
private GoBackEventHandler GoBackEvent;
private GoForwardEventHandler GoForwardEvent;
public event ImageChangedEventHandler ImageChanged
{
add
{
ImageChangedEvent = (ImageChangedEventHandler) System.Delegate.Combine(ImageChangedEvent, value);
}
remove
{
ImageChangedEvent = (ImageChangedEventHandler) System.Delegate.Remove(ImageChangedEvent, value);
}
}
public event SelectFolderEventHandler SelectFolder
{
add
{
SelectFolderEvent = (SelectFolderEventHandler)System.Delegate.Combine(SelectFolderEvent, value);
}
remove
{
SelectFolderEvent = (SelectFolderEventHandler)System.Delegate.Remove(SelectFolderEvent, value);
}
}
public event GoBackEventHandler GoBack
{
add
{
GoBackEvent = (GoBackEventHandler)System.Delegate.Combine(GoBackEvent, value);
}
remove
{
GoBackEvent = (GoBackEventHandler)System.Delegate.Remove(GoBackEvent, value);
}
}
public event GoForwardEventHandler GoForward
{
add
{
GoForwardEvent = (GoForwardEventHandler)System.Delegate.Combine(GoForwardEvent, value);
}
remove
{
GoForwardEvent = (GoForwardEventHandler)System.Delegate.Remove(GoForwardEvent, value);
}
}
private int imageCount=0;
private string selectedImage ="";
private string selectedPath ="";
private ToolTip toolTip1;
private ListView explorerListItems;
private ListViewItem explorerSelectedItem = null;
[
Category("Appearance"),
Description("Selected Image Name")
]
public string SelectedImage
{
get
{
return this.selectedImage;
}
set
{
this.selectedImage = value;
this.Invalidate();
}
}
[
Category("Appearance"),
Description("Selected Item")
]
public ListViewItem ExplorerSelectedItem
{
get
{
return this.explorerSelectedItem;
}
set
{
this.explorerSelectedItem = value;
this.Invalidate();
}
}
[
Category("Appearance"),
Description("Selected Path of Image")
]
public string SelectedPath
{
get
{
return this.selectedPath;
}
set
{
this.selectedPath = value;
this.Invalidate();
}
}
[
Category("Appearance"),
Description("Number of images in the selected path")
]
public int ImageCount
{
get
{
return this.imageCount;
}
set
{
this.imageCount = value;
this.Invalidate();
}
}
public TouchScreenExplorer()
{
// This call is required by the Windows Form Designer.
InitializeComponent();
//InitialFolder();
// TODO: Add any initialization after the InitializeComponent call
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
///
protected override System.Windows.Forms.CreateParams CreateParams
{
get
{
CreateParams Cp = base.CreateParams;
Cp.Style = Cp.Style & ~0x200000;
return Cp;
}
}
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region 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(TouchScreenExplorer));
this.imglpreview = new System.Windows.Forms.ImageList(this.components);
this.listBox1 = new Controls.Development.ImageListBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.SuspendLayout();
//
// imglpreview
//
this.imglpreview.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imglpreview.ImageStream")));
this.imglpreview.TransparentColor = System.Drawing.Color.Magenta;
this.imglpreview.Images.SetKeyName(0, "");
this.imglpreview.Images.SetKeyName(1, "");
this.imglpreview.Images.SetKeyName(2, "");
this.imglpreview.Images.SetKeyName(3, "");
//
// listBox1
//
this.listBox1.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.listBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.listBox1.ImageList = this.imglpreview;
this.listBox1.IntegralHeight = false;
this.listBox1.ItemHeight = 36;
this.listBox1.Location = new System.Drawing.Point(4, 24);
this.listBox1.Margin = new System.Windows.Forms.Padding(2, 3, 3, 3);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(194, 278);
this.listBox1.TabIndex = 65;
this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick);
this.listBox1.MouseHover += new System.EventHandler(this.listBox1_MouseHover);
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);
this.listBox1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseUp);
this.listBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listBox1_KeyDown);
//
// TouchScreenExplorer
//
this.Controls.Add(this.listBox1);
this.Name = "TouchScreenExplorer";
this.Size = new System.Drawing.Size(200, 304);
this.Controls.SetChildIndex(this.listBox1, 0);
this.ResumeLayout(false);
}
#endregion
public void ResetFolder()
{
listBox1.Items.Clear();
imglpreview.Images.Clear();
}
public void SetFolder(ListView myView, ImageList imglp)
{
explorerListItems = myView;
//' create file browser dialog
//' restore the selected folder location
// fileListBox1.Path = myPath;
// fileListBox1.Refresh();
// SelectedPath = myPath;
listBox1.Items.Clear();
imglpreview.Images.Clear();
//imglpreview = myImageList;
int i = 0;
ImageCount = 0;
for (int j = 0; j < myView.Items.Count; j++)
{
try
{
imglpreview.Images.Add(imglp.Images[j] );
listBox1.Items.Add(new Controls.Development.ImageListBoxItem(myView.Items[j].Text, j));
//toolTip1.SetToolTip(listBox1.Items[j], myView.Items[j].Text);
// FileInfo myF = new FileInfo(myPath + "/" + fileListBox1.get_Items(j).Substring(0,fileListBox1.get_Items(j).Length-4) + ".xml" );
// if (myF.Exists)
// {
// if (j==0)
// {
// SelectedImage = fileListBox1.get_Items(j);
// }
// Image myImage = Image.FromFile(myPath + "/" + fileListBox1.get_Items(j));
// myImage.Dispose();
// imglpreview.Images.Add(Image.FromHbitmap( myView.Items[j].ImageList.Images[j] );
// myImage.Dispose();
}
catch(Exception e1)
{
MessageBox.Show(e1.Message + i);
}
// listBox1.SelectedIndex = 0;
}
}
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
// SelectedImage = fileListBox1.get_Items(listBox1.SelectedIndex) ;
ImageChangedEvent(this,EventArgs.Empty);
try
{
Point p = Cursor.Position;
p = listBox1.PointToClient(p);
toolTip1.SetToolTip(listBox1, listBox1.Items[listBox1.IndexFromPoint(p)].Text);
explorerSelectedItem = explorerListItems.Items[listBox1.IndexFromPoint(p)];
}
catch (Exception)
{
//MessageBox.Show(e1.Message);
}
}
public void NextImage()
{
if (listBox1.SelectedIndex < listBox1.Items.Count-1)
{
listBox1.SelectedIndex = listBox1.SelectedIndex +1;
// SelectedImage = fileListBox1.get_Items(listBox1.SelectedIndex) ;
ImageChangedEvent(this,EventArgs.Empty);
}
}
public void PreviousImage()
{
if (listBox1.SelectedIndex >0)
{
listBox1.SelectedIndex = listBox1.SelectedIndex - 1;
// SelectedImage = fileListBox1.get_Items(listBox1.SelectedIndex) ;
ImageChangedEvent(this,EventArgs.Empty);
}
}
private void listBox1_MouseHover(object sender, EventArgs e)
{
}
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
ResetFolder();
SelectFolderEvent(this, EventArgs.Empty);
}
private void listBox1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right )
GoBackEvent(this, EventArgs.Empty);
}
private void listBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && (e.KeyCode == Keys.Left) )
GoBackEvent(this, EventArgs.Empty);
if (e.KeyCode == Keys.Back)
GoBackEvent(this, EventArgs.Empty);
if (e.Alt && (e.KeyCode == Keys.Right))
{
ResetFolder();
GoForwardEvent(this, EventArgs.Empty);
}
if (e.KeyCode == Keys.Enter)
{
ResetFolder();
GoForwardEvent(this, EventArgs.Empty);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -