C#实现电视墙界面演示


演示了使用VisualStudio自带控件进行Panel分割形成电视墙的方法   使用VisualStuido 2010,DotNet版本为3.5   可以非常方便的通过二维数组来定义不同的Panel分割方式   分割后的每个Panel可以单击选择,双击放大   主要用于视频监控类软件的界面设计方案
资源截图
代码片段和文件信息
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个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)