C#实现电视墙界面演示
演示了使用VisualStudio自带控件进行Panel分割形成电视墙的方法
使用VisualStuido 2010,DotNet版本为3.5
可以非常方便的通过二维数组来定义不同的Panel分割方式
分割后的每个Panel可以单击选择,双击放大
主要用于视频监控类软件的界面设计方案
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 493 2011-05-11 13:12 Program.cs
文件 5391 2011-05-16 01:30 SplitPanel.csproj
文件 861 2011-05-11 13:11 SplitPanel.sln
..A..H. 19456 2011-05-19 11:46 SplitPanel.suo
文件 0 2011-05-19 12:13 最新更新请访问www.gomdb.com.txt
文件 454144 2011-05-19 11:46 binDebugSplitPanel.exe
文件 44544 2011-05-19 11:46 binDebugSplitPanel.pdb
文件 11608 2011-05-19 11:47 binDebugSplitPanel.vshost.exe
文件 490 2010-03-17 22:39 binDebugSplitPanel.vshost.exe.manifest
文件 7762 2011-05-19 11:46 objx86DebugDesignTimeResolveAssemblyReferencesInput.cache
文件 6760 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.read.1.tlog
文件 2 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.read.4.tlog
文件 2 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.read.5.tlog
文件 2066 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.write.1.tlog
文件 2846 2011-05-19 11:47 objx86DebugSplitPanel.csproj.FileListAbsolute.txt
文件 454144 2011-05-19 11:46 objx86DebugSplitPanel.exe
文件 13734 2011-05-16 01:30 objx86DebugSplitPanel.frmMain.resources
文件 44544 2011-05-19 11:46 objx86DebugSplitPanel.pdb
文件 412677 2011-05-16 01:30 objx86DebugSplitPanel.Properties.Resources.resources
文件 7168 2011-05-16 01:30 objx86DebugTempPEProperties.Resources.Designer.cs.dll
文件 1360 2011-05-11 13:11 PropertiesAssemblyInfo.cs
文件 9029 2011-05-16 01:30 PropertiesResources.Designer.cs
文件 12034 2011-05-16 01:30 PropertiesResources.resx
文件 1095 2011-05-11 13:11 PropertiesSettings.Designer.cs
文件 249 2011-05-11 13:11 PropertiesSettings.settings
文件 3863 2011-05-16 01:00 Resources1.png
文件 3048 2011-05-16 01:05 Resources2.png
文件 2928 2011-05-16 01:11 Resources3.png
文件 2944 2011-05-16 01:14 Resources4.png
文件 2910 2011-05-16 01:15 Resources5.png
............此处省略34个文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace SplitPanel
{
public partial class frmMain : Form
{
private ArrayList alPanelView = new ArrayList();
private int[][] AllViewDefine = new int[7][];
public frmMain()
{
InitializeComponent();
}
private void frmMain_Load(object sender EventArgs e)
{
AllViewDefine[0] = new int[2] { 8 8 };
AllViewDefine[1] = new int[8] { 4 4 4 4 4 4 4 4 };
AllViewDefine[2] = new int[12] { 6 6 2 3 2 3 3 2 3 2 2 2 };
AllViewDefine[3] = new int[16] { 6 6 2 2 2 2 2 2 2 2 2 2 2 2 2 2 };
AllViewDefine[4] = new int[26] { 2 2 2 2 2 2 2 2 2 2 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 };
AllViewDefine[5] = new int[20] { 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 };
AllViewDefine[6] = new int[32] { 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 };
}
private void toolStripButton1_Click(object sender EventArgs e)
{
tableLayoutPanel.Controls.Clear();
alPanelView.Clear();
int[] ChooseViewDefine = AllViewDefine[Convert.ToInt16(((ToolStripButton)(sender)).Tag)];
int iViewCount = ChooseViewDefine.Length / 2;
for (int i = 0; i < iViewCount; i++)
{
Panel p = new Panel();
p.BackColor = Color.FromArgb(125 141 144);
p.Dock = Dockstyle.Fill;
p.Padding = new Padding(2);
tableLayoutPanel.Controls.Add(p);
tableLayoutPanel.SetColumnSpan(p ChooseViewDefine[i * 2]);
tableLayoutPanel.SetRowSpan(p ChooseViewDefine[i * 2 + 1]);
Panel pnlView = new Panel();
pnlView.BackColor = Color.FromArgb(125 141 144);
pnlView.Dock = Dockstyle.Fill;
p.Controls.Add(pnlView);
alPanelView.Add(pnlView);
pnlView.Click += new System.EventHandler(this.pnlView_Click);
pnlView.DoubleClick += new System.EventHandler(this.pnlView_DoubleClick);
}
if (tableLayoutPanel.Controls.Count > 0)
{
pnlView_Click(tableLayoutPanel.Controls[0].Controls[0] null);
}
}
private void pnlView_Click(object sender EventArgs e)
{
Panel parent_panel = ((Control)(sender)).Parent as Panel;
foreach (Control c in tableLayoutPanel.Controls)
{
((Panel)(c)).BackColor = Color.FromArgb(125 141 144);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 493 2011-05-11 13:12 Program.cs
文件 5391 2011-05-16 01:30 SplitPanel.csproj
文件 861 2011-05-11 13:11 SplitPanel.sln
..A..H. 19456 2011-05-19 11:46 SplitPanel.suo
文件 0 2011-05-19 12:13 最新更新请访问www.gomdb.com.txt
文件 454144 2011-05-19 11:46 binDebugSplitPanel.exe
文件 44544 2011-05-19 11:46 binDebugSplitPanel.pdb
文件 11608 2011-05-19 11:47 binDebugSplitPanel.vshost.exe
文件 490 2010-03-17 22:39 binDebugSplitPanel.vshost.exe.manifest
文件 7762 2011-05-19 11:46 objx86DebugDesignTimeResolveAssemblyReferencesInput.cache
文件 6760 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.read.1.tlog
文件 2 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.read.4.tlog
文件 2 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.read.5.tlog
文件 2066 2011-05-16 01:30 objx86DebugGenerateResource-ResGen.write.1.tlog
文件 2846 2011-05-19 11:47 objx86DebugSplitPanel.csproj.FileListAbsolute.txt
文件 454144 2011-05-19 11:46 objx86DebugSplitPanel.exe
文件 13734 2011-05-16 01:30 objx86DebugSplitPanel.frmMain.resources
文件 44544 2011-05-19 11:46 objx86DebugSplitPanel.pdb
文件 412677 2011-05-16 01:30 objx86DebugSplitPanel.Properties.Resources.resources
文件 7168 2011-05-16 01:30 objx86DebugTempPEProperties.Resources.Designer.cs.dll
文件 1360 2011-05-11 13:11 PropertiesAssemblyInfo.cs
文件 9029 2011-05-16 01:30 PropertiesResources.Designer.cs
文件 12034 2011-05-16 01:30 PropertiesResources.resx
文件 1095 2011-05-11 13:11 PropertiesSettings.Designer.cs
文件 249 2011-05-11 13:11 PropertiesSettings.settings
文件 3863 2011-05-16 01:00 Resources1.png
文件 3048 2011-05-16 01:05 Resources2.png
文件 2928 2011-05-16 01:11 Resources3.png
文件 2944 2011-05-16 01:14 Resources4.png
文件 2910 2011-05-16 01:15 Resources5.png
............此处省略34个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)