📄 listview.cs
字号:
namespace FTP.View.VisibleControls
{
using System;
using System.Windows.Forms;
using System.Drawing;
using FTP.Model.DataStructures;
internal class PanelListView : AbstractPanel
{
private HandleUserGestures handleUserGestures;
private ListView lvListOfFiles;
internal PanelListView(HandleUserGestures pHandleUserGestures)
{
this.handleUserGestures = pHandleUserGestures;
lvListOfFiles = new ListView();
lvListOfFiles.DoubleClick += new System.EventHandler (this.doubleClick);
lvListOfFiles.View = View.Details;
lvListOfFiles.Font = new System.Drawing.Font ("Arial", 10, System.Drawing.FontStyle.Regular);
lvListOfFiles.Dock = DockStyle.Fill;
lvListOfFiles.FullRowSelect = true;
lvListOfFiles.Columns.Add("Name", 180, HorizontalAlignment.Left);
lvListOfFiles.Columns.Add("Size", 80, HorizontalAlignment.Right);
lvListOfFiles.Columns.Add("Date", 100, HorizontalAlignment.Left);
lvListOfFiles.Columns.Add("Permissions", 100, HorizontalAlignment.Left);
lvListOfFiles.Columns.Add("Owner", 70, HorizontalAlignment.Left);
lvListOfFiles.Columns.Add("Group", 70, HorizontalAlignment.Left);
this.Controls.Add(lvListOfFiles);
}
private void doubleClick (object sender, System.EventArgs e)
{
string messageToView = "DOWNLOADTO";
handleUserGestures.handleUserGesture(messageToView);
}
// IViewComonentInterface methods
public override void AcceptModelChanges(ModelViewState ftpViewState)
{
ftpViewState.getListViewData(ref this.lvListOfFiles);
this.lvListOfFiles.View = ftpViewState.ListViewStyle;
}
public override void ExtractUserChanges(ref ModelViewState pFtpViewState)
{
// Get the selected file(s)
ListView.SelectedListViewItemCollection selectedItems = lvListOfFiles.SelectedItems;
pFtpViewState.selectedServerFiles = new int[lvListOfFiles.SelectedItems.Count];
// Get the Indexes
for (int i=0; i<lvListOfFiles.SelectedItems.Count; i++)
{
pFtpViewState.selectedServerFiles[i] = lvListOfFiles.SelectedItems[i].Index;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -