Пример #1
0
        public void PopulateRoute(List <AllMedStop> stops)
        {
            this.blvStops.SelectedIndexChanged -= this.blvStops_SelectedIndexChanged;
            this.blvStops.Items.Clear();

            if (stops != null && stops.Count > 0)
            {
                foreach (AllMedStop stop in stops)
                {
                    BetterListViewItem blvi = new BetterListViewItem(stop.Description);
                    blvi.SubItems.Add(stop.NumberDrops.ToString());
                    blvi.SubItems.Add(stop.Street);
                    blvi.SubItems.Add(stop.City);
                    blvi.SubItems.Add(stop.State);
                    blvi.SubItems.Add(stop.PostalCode);
                    blvi.Tag = stop.Id;

                    this.blvStops.Items.Add(blvi);
                }
                // auto-size column widths
                foreach (BetterListViewColumnHeader header in this.blvStops.Columns)
                {
                    header.AutoResize(BetterListViewColumnHeaderAutoResizeStyle.ColumnContent);
                }
                bcolState.AutoResize(BetterListViewColumnHeaderAutoResizeStyle.HeaderSize);
                bcolNumberDrops.AutoResize(BetterListViewColumnHeaderAutoResizeStyle.HeaderSize);
                colPostalCode.Width = 75;

                this.btnRoute.Enabled           = true;
                this.blvStops.Items[0].Selected = true;
            }
            highlightStopBackgrounds();
            this.blvStops.SelectedIndexChanged += this.blvStops_SelectedIndexChanged;
        }
Пример #2
0
 public static void BindDataSource(this BetterListViewItem item, TaskListViewSourceItem source,
                                   BetterListView owner)
 {
     item.Tag = source;
     Refresh(item, owner);
     item.Group = source.Group;
 }
        private static List <BetterListViewItem> getSimulationDetailItem(ZhangSimulation s)
        {
            var r = new List <BetterListViewItem>();

            if (s == null || s.Chessboards.Count == 0)
            {
                var item = new BetterListViewItem(new[] {
                    s == null ? "No Simulation Selected" : "No Chessboards!"
                });
                item.Tag = null;
                r.Add(item);
                return(r);
            }
            var boards = s.Chessboards;

            for (int i = 0; i < boards.Count; i++)
            {
                var item = new BetterListViewItem(new[] {
                    boards[i].ToString(),
                    calcAngle(s.Camera, boards[i]).ToString(),
                    (s.Camera.Pos - boards[i].Pos).Norm.ToString(),
                    s.ReporjectionErrorRMS.Count != boards.Count ? "niet berekend" : s.ReporjectionErrorRMS[i].ToString()
                });
                item.Tag = boards[i];
                r.Add(item);
            }
            return(r);
        }
Пример #4
0
        private void ReLoadProcesses()
        {
            betterListView1.Items.Clear();

            List <BetterListViewItem> result = new List <BetterListViewItem>();

            Process[] ps = Process.GetProcesses().OrderBy(i => i.ProcessName).ToArray();

            foreach (Process p in ps)
            {
                if (ckDoNotDisplayHidden.Checked && hiddenProcesses.Contains(p.ProcessName.ToUpper()))
                {
                    continue;
                }

                if (ckHideKnown.Checked && knownProcesses.Contains(p.ProcessName.ToUpper()))
                {
                    continue;
                }

                var filePath = WinAPI.GetExecutablePath(p);

                var item = new BetterListViewItem(WinAPI.GetFileIconImage(filePath), p.ProcessName);

                var idItem = new BetterListViewSubItem(p.Id.ToString());
                idItem.Key = new PIDComparable()
                {
                    PID = p.Id
                };
                item.SubItems.Add(idItem);

                var memory     = p.PrivateMemorySize64 / 1024;
                var memoryItem = new BetterListViewSubItem(memory.ToString("N0") + "K");
                memoryItem.Key = new MemoryComparable()
                {
                    Memory = memory
                };
                item.SubItems.Add(memoryItem);

                item.SubItems.Add(filePath);

                if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath))
                {
                    var info = FileVersionInfo.GetVersionInfo(filePath);
                    item.SubItems.Add(info.FileDescription);
                    item.SubItems.Add(info.CompanyName);
                }

                if (knownProcesses.Contains(p.ProcessName.ToUpper()))
                {
                    item.ForeColor = Color.Gray;
                }

                result.Add(item);
            }

            betterListView1.Items.AddRange(result);
        }
Пример #5
0
        private void LvTasksMouseDoubleClick(object sender, MouseEventArgs e)
        {
            BetterListViewItem lvItem = lvTasks.GetItemAt(e.Location);

            if (lvItem != null && lvTasks.SelectedValue is TaskModel task)
            {
                task.ToggleActive();
                UpdateTaskButtons();
                lvTasks.RefreshItems();
            }
        }
Пример #6
0
 private void IndexIcons()
 {
     foreach (string file in Directory.GetFiles(Properties.Settings.Default.AllAppsFolder))
     {
         Image icon = Icon.ExtractAssociatedIcon(file).ToBitmap();
         BetterListViewItem betterListViewItem = new BetterListViewItem();
         betterListViewItem.Text  = Path.GetFileNameWithoutExtension(file);
         betterListViewItem.Image = icon;
         favouritesListView.Items.Add(betterListViewItem);
     }
 }
Пример #7
0
        private BetterListViewItem ListMap(BetterListViewItem Item)
        {
            if (saved == false)
            {
                Item.SubItems.Add("No");
            }
            else
            {
                Item.SubItems.Add("Yes");
            }

            return(Item);
        }
Пример #8
0
        private static void Refresh(BetterListViewItem item, BetterListView owner)
        {
            TaskListViewSourceItem source = item.DataSource();
            object dataObject             = source.DataObject;

            IEnumerable <BetterListViewColumnHeader> columns = owner.Columns;
            Dictionary <string, PropertyInfo>        props   = GetDataObjectProps(dataObject);

            int colCount = columns.Count(), subCount = item.SubItems.Count, subDiff = colCount - subCount;

            if (subDiff > 0)
            {
                List <BetterListViewSubItem> subItems = new List <BetterListViewSubItem>(subDiff);
                for (int i = 0; i < subDiff; i++)
                {
                    subItems.Add(new BetterListViewSubItem());
                }
                item.SubItems.AddRange(subItems);
            }

            int idx = -1;

            foreach (BetterListViewColumnHeader column in columns)
            {
                idx++;
                if (column.DisplayMember == string.Empty ||
                    !props.TryGetValue(column.DisplayMember, out var propertyInfo))
                {
                    continue;
                }

                BetterListViewSubItem subItem = item.SubItems[idx];
                object displayValue           = propertyInfo.GetValue(dataObject);
                string displayString          = displayValue?.ToString();
                if (subItem.Text != displayString)
                {
                    subItem.Text = displayString;
                }

                if (column.ValueMember != string.Empty &&
                    props.TryGetValue(column.ValueMember, out propertyInfo))
                {
                    subItem.Key = (IComparable)propertyInfo.GetValue(dataObject);
                }
                else
                {
                    subItem.Key = (IComparable)displayValue;
                }
            }
        }
Пример #9
0
        private void addItemToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EditorForm adder = new EditorForm("", "", false);
            adder.Location = this.Location;
            adder.ShowDialog();

            if (!adder.Canceled)
            {
                BetterListViewItem blvi = new BetterListViewItem();
                blvi.Text = adder.textLabelName.Text;
                blvi.SubItems.Add(adder.textLabelData.Text);
                itemView.Items.Add(blvi);
            }
        }
Пример #10
0
        private void addItemToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EditorForm adder = new EditorForm("", "", false);

            adder.Location = this.Location;
            adder.ShowDialog();

            if (!adder.Canceled)
            {
                BetterListViewItem blvi = new BetterListViewItem();
                blvi.Text = adder.textLabelName.Text;
                blvi.SubItems.Add(adder.textLabelData.Text);
                itemView.Items.Add(blvi);
            }
        }
Пример #11
0
 private void itemView_DoubleClick(object sender, EventArgs e)
 {
     if (itemView.SelectedItems.Count > 0)
     {
         BetterListViewItem cItem  = itemView.SelectedItems[0];
         EditorForm         editor = new EditorForm(cItem.Text, cItem.SubItems[1].Text);
         editor.Location = this.Location;
         editor.ShowDialog();
         if (!editor.Canceled)
         {
             string newName = editor.textLabelName.Text;
             cItem.Text             = editor.textLabelName.Text;
             cItem.SubItems[1].Text = editor.textLabelData.Text;
         }
     }
 }
Пример #12
0
 public void SetProdusts(List<Product> products)
 {
     BetterListViewItem item;
     StorelistView.Columns.Add("Name", 400);
     StorelistView.Columns.Add("Price", 100);
     int count = 0;
     foreach (Product product in products)
     {
         item = new BetterListViewItem(product.Name);
         item.ForeColor = Color.Black;
         item.SubItems.Add(product.PriceUSD.ToString());
         item.ImageIndex = count;
         item.Image = imageList1.Images[count];
         StorelistView.Items.Add(item);
         count++;
     }
 }
Пример #13
0
        private void LoadItems(int itemCount)
        {
            DateTime dtStart = DateTime.Now;

            //this.labelStatus.Text = "Loading items...";

            //this.labelStatus.Refresh();

            //this.buttonLoad1KItems.Enabled = false;
            //this.buttonLoad10KItems.Enabled = false;
            //this.buttonClear.Enabled = true;

            this.listView.BeginUpdate();

            // allocate an array of items
            //BetterListViewItem[] items = new BetterListViewItem[itemCount];

            for (int indexItem = 0; indexItem < itemCount; indexItem++)
            {
                // create a new item
                BetterListViewItem item = new BetterListViewItem(
                    new[]
                        {
                            "Some Item",
                            Convert.ToString(indexItem + 1)
                        });

                item.SubItems[1].AlignHorizontal = TextAlignmentHorizontal.Right;

                // put item into array
                //items[indexItem] = item;
                this.listView.Items.Add(item);
            }

            // add created items to Better ListView in a single call
            //this.listView.Items.AddRange(items);

            //this.listView.Enabled = true;

            this.listView.EndUpdate();

            MessageBox.Show(String.Format(
                            "Items loaded in  {0:N0}  milliseconds.",
                            (int)Math.Round(DateTime.Now.Subtract(dtStart).TotalMilliseconds)));
        }
Пример #14
0
        private void LoadItems(int itemCount)
        {
            DateTime dtStart = DateTime.Now;

            //this.labelStatus.Text = "Loading items...";

            //this.labelStatus.Refresh();

            //this.buttonLoad1KItems.Enabled = false;
            //this.buttonLoad10KItems.Enabled = false;
            //this.buttonClear.Enabled = true;

            this.listView.BeginUpdate();

            // allocate an array of items
            //BetterListViewItem[] items = new BetterListViewItem[itemCount];

            for (int indexItem = 0; indexItem < itemCount; indexItem++)
            {
                // create a new item
                BetterListViewItem item = new BetterListViewItem(
                    new[]
                {
                    "Some Item",
                    Convert.ToString(indexItem + 1)
                });

                item.SubItems[1].AlignHorizontal = TextAlignmentHorizontal.Right;

                // put item into array
                //items[indexItem] = item;
                this.listView.Items.Add(item);
            }

            // add created items to Better ListView in a single call
            //this.listView.Items.AddRange(items);

            //this.listView.Enabled = true;

            this.listView.EndUpdate();

            MessageBox.Show(String.Format(
                                "Items loaded in  {0:N0}  milliseconds.",
                                (int)Math.Round(DateTime.Now.Subtract(dtStart).TotalMilliseconds)));
        }
Пример #15
0
        private void reorderSelectedStop(int destinationIndex)
        {
            this.blvStops.SelectedIndexChanged -= blvStops_SelectedIndexChanged;
            int selectedIndex       = this.blvStops.SelectedIndices[0];
            BetterListViewItem blvi = this.blvStops.Items[selectedIndex];

            this.blvStops.Items.RemoveAt(selectedIndex);
            this.blvStops.Items.Insert(destinationIndex, blvi);
            this.blvStops.SelectedIndexChanged += blvStops_SelectedIndexChanged;

            blvi.Selected = true;
            this.blvStops.Select();
            this.blvStops_SelectedIndexChanged(null, EventArgs.Empty);

            highlightStopBackgrounds();

            OnMoveStop(this, new MoveStopEventArgs(selectedIndex, destinationIndex));
        }
Пример #16
0
        /// <summary>
        /// 绑定数据源
        /// </summary>
        public void BindsListViewDataSource()
        {
            this.betterListView1.Items.Clear();
            DataTable dt = new TXTClass().txtRead(Global.dbFile, '|');

            foreach (DataRow row in dt.Rows)
            {
                BetterListViewItem item = new BetterListViewItem(new string[] {
                    row[0].ToString(),
                    row[1].ToString(),
                    row[2].ToString(),
                    row[3].ToString()
                });
                item.ImageIndex = 0;
                this.betterListView1.Items.Add(item);
            }
            this.tsItemLabel.Text = string.Format("共 {0} 项", dt.Rows.Count);
        }
Пример #17
0
 private void btn_export_Click(object sender, EventArgs e)
 {
     try
     {
         //选择文件的功能做一下。
         string         excelPath  = null;
         OpenFileDialog fileDialog = new OpenFileDialog();
         fileDialog.Title  = "请选择文件";
         fileDialog.Filter = "所有文件(*xls*)|*.xls*";
         if (fileDialog.ShowDialog() == DialogResult.OK)
         {
             excelPath = fileDialog.FileName;
         }
         else
         {
             return;
         }
         var serverInfos = Excel.Load <ServerInfo>(excelPath);
         foreach (var server in serverInfos)
         {
             if (server.Ip != null)
             {
                 string             userName = server.UserName.Split('/')[0].ToString();
                 string             pwd      = server.Password.Split('/')[1].ToString();
                 BetterListViewItem item     = new BetterListViewItem(new string[] {
                     server.Ip.ToString(),
                     userName,
                     pwd,
                     server.Remark
                 });
                 item.ImageIndex = 0;
                 string data = string.Format("{0}|{1}|{2}|{3}", server.Ip, userName, pwd, server.Remark);
                 new TXTClass().txtWrite(Global.dbFile, data);
             }
             //this.betterListView1.Items.Add(item);
         }
         BindsListViewDataSource();
     }
     catch (Exception ex)
     {
         MessageBox.Show("请检查用户和密码,以及备注是否为空");
     }
 }
Пример #18
0
        // FILL LIST
        //------------------------------------------------------------------------------------------------------------
        public void PreencheLista()
        {
            lstItens.MultiSelect   = false;
            lstItens.HideSelection = false;

            clnID.Width   = 22;
            clnItem.Width = Width - clnID.Width - 30;

            foreach (var item in origemLista)
            {
                BetterListViewItem vItem = new BetterListViewItem(new string[] { item.Key.ToString(), item.Value });

                vItem.UseItemStyleForSubItems = false;
                vItem.SubItems[0].Font        = new Font("Calibri", 7.0F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));
                vItem.SubItems[0].BackColor   = Color.LightSteelBlue;
                vItem.SubItems[1].Font        = new Font("Calibri", 12.0F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));

                lstItens.Items.Add(vItem);
            }
        }
Пример #19
0
        public void RebindItems()
        {
            BeginUpdate();

            HashSet <object> setItems = _sourceItems != null
                ? new HashSet <object>(_sourceItems)
                : new HashSet <object>();

            BetterListViewItem[] toDelete = Items.
                                            Where(i => !setItems.Contains(i.DataObject())).
                                            ToArray();
            foreach (BetterListViewItem item in toDelete)
            {
                Items.Remove(item);
            }

            BetterListViewItem[] toUpdate = Items.
                                            Where(i => setItems.Contains(i.DataObject())).
                                            ToArray();
            foreach (BetterListViewItem item in toUpdate)
            {
                item.Refresh();
            }

            IEnumerable <object>      toAdd      = setItems.Except(Items.Select(i => i.DataObject()));
            List <BetterListViewItem> itemsToAdd = new List <BetterListViewItem>();

            foreach (object dataObject in toAdd)
            {
                BetterListViewItem     item   = new BetterListViewItem();
                TaskListViewSourceItem source = new TaskListViewSourceItem(dataObject, _funcItemFindGroup);
                item.BindDataSource(source, this);
                itemsToAdd.Add(item);
            }
            Items.AddRange(itemsToAdd);

            EndUpdate();
        }
Пример #20
0
 public static T DataObject <T>(this BetterListViewItem item) where T : class
 {
     return(item.DataObject() as T);
 }
Пример #21
0
        private void LoadProjects(string search)
        {
            lsProjects.Clear();
            lsProjects.Columns.Add("Logo", 200);
            lsProjects.Columns.Add("Company Name", 200);
            lsProjects.Columns.Add("Project Description", 100);
            lsProjects.Columns.Add("Contact Person", 500);
            lsProjects.FullRowSelect = true;
            lsProjects.HScrollBarDisplayMode = BetterListViewScrollBarDisplayMode.Hide;
            lsProjects.GridLines = BetterListViewGridLines.Horizontal;
            lsProjects.View = BetterListViewView.Details;
            lsProjects.Columns[1].AutoResize(BetterListViewColumnHeaderAutoResizeStyle.HeaderSize);

            lsProjects.MultiSelect = false;
            try
            {
                using (MySql.Data.MySqlClient.MySqlDataReader reader = Connection.Connection.ExecureReader(@"SELECT
                                Project.ID AS ProjectID,
                                Project.Description AS Description,
                                ref_ProjectType.Name AS ProjectType,
                                CompanyName,
                                ContactPersonTel,
                                ThumbNail
                            FROM
                                Project
                                    INNER JOIN
                                Client ON Client.ID = Project.ClientID
                                    LEFT JOIN
                                ref_ProjectType ON Project.ProjectTypeID = ref_ProjectType.ID
                                    LEFT JOIN
                                Image ON Client.LogoImageID = Image.ID WHERE CompanyName LIKE '%" + search + "%' OR Project.Description LIKE '%"+search+"%' OR ref_ProjectType.Name like '%"+search+"%';")
                    )
                {

                    while (reader.Read())
                    {
                        Image thumnail;

                        try
                        {
                            MemoryStream MemStream = null;
                            byte[] thumbByte = (byte[])reader["Thumbnail"];
                            MemStream = new MemoryStream(thumbByte);
                            thumnail = System.Drawing.Image.FromStream(MemStream);
                        }
                        catch (Exception)
                        {
                            thumnail = new Bitmap(100, 100);
                        }

                        thumnail = Utilities.Utilities.ResizeImage(thumnail, new Size(48, 36));
                        BetterListViewItem lstItem = new BetterListViewItem(new[] { reader["ProjectID"].ToString(),
                                                                            reader["Description"].ToString(),
                                                                             reader["ProjectType"].ToString(),
                                                                              reader["CompanyName"].ToString(),
                                                                               reader["ContactPersonTel"].ToString()

                        });
                        lstItem.Name = reader["ProjectID"].ToString();
                        lstItem.Image = thumnail;

                        lsProjects.Items.Add(lstItem);

                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception.Message);
            }
        }
Пример #22
0
        private void LoadUsers(string search)
        {
            lstUsers.Clear();
            lstUsers.Columns.Add("User Image", 200);
            lstUsers.Columns.Add("User Code", 200);
            lstUsers.Columns.Add("User Name", 800);
            lstUsers.GridLines = BetterListViewGridLines.Horizontal;
            lstUsers.View = BetterListViewView.Details;
            lstUsers.HScrollBarDisplayMode = BetterListViewScrollBarDisplayMode.Hide;
            lstUsers.Columns[1].AutoResize(BetterListViewColumnHeaderAutoResizeStyle.HeaderSize);
            lstUsers.MultiSelect = false;
            lstUsers.FullRowSelect = true;
            try
            {
                using (MySql.Data.MySqlClient.MySqlDataReader reader = Connection.Connection.ExecureReader(@"
                 SELECT User.*,Image.ThumbNail FROM User LEFT JOIN Image ON User.ImageID = Image.ID WHERE UserName like '%"+search+"%'")
                    )
                {

                    while (reader.Read())
                    {
                        Image thumnail;

                        try
                        {
                            MemoryStream MemStream = null;
                            byte[] thumbByte = (byte[]) reader["Thumbnail"];
                            MemStream = new MemoryStream(thumbByte);
                            thumnail = System.Drawing.Image.FromStream(MemStream);
                        }
                        catch (Exception)
                        {
                            thumnail = new Bitmap(100, 100);
                        }

                        thumnail = Utilities.Utilities.ResizeImage(thumnail, new Size(48,36));
                        BetterListViewItem lstItem = new BetterListViewItem(new [] {reader["ID"].ToString(), reader["UserName"].ToString() });
                        lstItem.Name = reader["ID"].ToString();
                        lstItem.Image = thumnail;

                        lstUsers.Items.Add(lstItem);

                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception.Message);
            }
        }
Пример #23
0
        private void Populate()
        {
            LoadSettings();
            //Hide Start Button + Menu While Updating
            startButton.Visible = false;
            cleanClose();
            //Assign Start Menu Icon from Settings
            try
            {
                Icon startIcon = Icon.ExtractAssociatedIcon(Properties.Settings.Default.StartIconFile);
                startButton.Icon = startIcon;
            }
            catch
            {
                startButton.Icon = Properties.Resources.StartIcon;
            }

            //Start Menu Text
            usernameLabel.Text = Environment.UserName;
            domainLabel.Text   = Environment.UserDomainName;


            //Folder objects
            DirectoryInfo allDir = new System.IO.DirectoryInfo(Properties.Settings.Default.AllAppsFolder);
            DirectoryInfo favDir = new System.IO.DirectoryInfo(Properties.Settings.Default.FavouritesFolder);

            //Add Child Directories to start menu all apps.
            foreach (DirectoryInfo folder in allDir.GetDirectories())
            {
                allFilesTreeView.Nodes.Add(folder.Name, folder.Name, "$directoryempty$", "$directoryempty$");
                foreach (FileInfo file in folder.GetFiles())
                {
                    allFilesTreeView.Nodes[folder.Name].SelectedImageKey = "$directory$";
                    allFilesTreeView.Nodes[folder.Name].ImageKey         = "$directory$";
                    Icon iconForFile = SystemIcons.Exclamation;
                    iconForFile = Icon.ExtractAssociatedIcon(file.FullName);
                    fileImageList.Images.Add(file.FullName, iconForFile);
                    filecache.Add(file.FullName);
                    allFilesTreeView.Nodes[folder.Name].Nodes.Add(file.Name, Path.GetFileNameWithoutExtension(file.Name), file.FullName, file.FullName);
                }
            }

            //Add files in root all apps folder.
            foreach (FileInfo file in allDir.GetFiles())
            {
                Icon iconForFile = SystemIcons.Exclamation;
                iconForFile = Icon.ExtractAssociatedIcon(file.FullName);
                fileImageList.Images.Add(file.FullName, iconForFile);
                filecache.Add(file.FullName);
                allFilesTreeView.Nodes.Add(file.Name, Path.GetFileNameWithoutExtension(file.Name), file.FullName, file.FullName);
                allAppsToolStripMenuItem.DropDownItems.Add(Path.GetFileNameWithoutExtension(file.Name), fileImageList.Images[file.FullName]);
            }

            searchTreeView.Sort();

            //Populate context menu strip all apps.
            foreach (String file in filecache)
            {
                allAppsToolStripMenuItem.DropDownItems.Add(Path.GetFileNameWithoutExtension(file), fileImageList.Images[file]);
            }

            //Favourites List
            favouritesListView.BeginUpdate();


            foreach (FileInfo file in favDir.GetFiles())
            {
                // Set a default icon for the file.
                Icon iconForFile = SystemIcons.Question;

                BetterListViewItem item = new BetterListViewItem(Path.GetFileNameWithoutExtension(file.FullName), 1);
                iconForFile = Icon.ExtractAssociatedIcon(file.FullName);
                item.Image  = iconForFile.ToBitmap();
                item.Tag    = file.FullName;
                favouritesListView.Items.Add(item);
            }

            favouritesListView.EndUpdate();

            //Show Start Button Again
            startButton.Visible = true;
        }
Пример #24
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            this.btnStart.Enabled = false;
            int port = -1;

            if (int.TryParse(this.tbPort.Text, out port) && port <= 0)
            {
                MessageBox.Show("Wrong tcp port");
                return;
            }

            int clientNums = -1;

            if (int.TryParse(this.tbClientNum.Text, out clientNums) && clientNums <= 0)
            {
                MessageBox.Show("Wrong client nums");
                return;
            }
            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                MessageBox.Show("Network UnAvailable");
                return;
            }

            IPHostEntry host = Dns.GetHostByAddress(tbServerIP.Text);

            IPAddress[] addressList = host.AddressList;

            if (addressList.Length < 1)
            {
                MessageBox.Show("Didn't found any server");
                return;
            }

            this.Rebots.Clear();          //Clear old rebot data.
            this.lvClients.Items.Clear(); //Clear List View Old Rebot Data.

            for (int i = 0; i < clientNums; i++)
            {
                NSocket.SocketLib.NSocketRebot rebot = new SocketLib.NSocketRebot(addressList[addressList.Length - 1], 7890, 1024);
                rebot.Name        = "#" + i.ToString();
                rebot.SendMessage = "HELLO WORLD";
                Rebots.Add(rebot.Name, rebot);
            }

            var rebotItems = new BetterListViewItem[this.Rebots.Keys.Count];

            this.lvClients.BeginUpdate();
            int rebotIndex = 0;

            foreach (var rebot in this.Rebots.Values)
            {
                var item = new ComponentOwl.BetterListView.BetterListViewItem(new[] { string.Empty, rebot.Name,
                                                                                      rebot.DelayTime.ToString(),
                                                                                      rebot.SendLength.ToString(),
                                                                                      rebot.ReceivedLength.ToString(),
                                                                                      rebot.WorkStatus.ToString(),
                                                                                      rebot.ConnectStatus.ToString(),
                                                                                      rebot.SendSuccessTimes.ToString(),
                                                                                      rebot.SendFailureTimes.ToString(),
                                                                                      rebot.ReceivedTimes.ToString(),
                                                                                      rebot.TryConnectTimes.ToString(),
                                                                                      rebot.ConnectDelay.ToString(),
                                                                                      rebot.WorkThreadID.ToString() });
                item.Name = rebot.Name;
                rebotItems[rebotIndex++] = item;
            }
            this.lvClients.Items.AddRange(rebotItems);
            this.lvClients.EndUpdate();
            foreach (var rebot in this.Rebots.Values)
            {
                ThreadPool.QueueUserWorkItem((o) =>
                {
                    rebot.Start();
                });
            }

            this.btnStop.Enabled = true;
        }
Пример #25
0
        private void LoadPeople(string search)
        {
            lsData.Clear();
            lsData.Columns.Add("Picture", 100);
            lsData.Columns.Add("IDNumber", 300);
            lsData.Columns.Add("Name", 200);
            lsData.Columns.Add("Surname", 100);
            lsData.Columns.Add("Roles", 200);
            lsData.FullRowSelect = true;
            lsData.HScrollBarDisplayMode = BetterListViewScrollBarDisplayMode.Hide;
            lsData.GridLines = BetterListViewGridLines.Horizontal;
            lsData.View = BetterListViewView.Details;

            lsData.MultiSelect = false;
            try
            {
                using (MySql.Data.MySqlClient.MySqlDataReader reader = Connection.Connection.ExecureReader(@"
                                SELECT Person.ID AS PersonID,
                                        IDNumber,
                                        FirstName,
                                        Surname,
                                        '' AS Roles,
                                        ThumbNail
                                FROM Person LEFT JOIN Image ON Person.ProfileImageID = Image.ID WHERE Concat(FirstName,' ',Surname) like '%"+search+"%' OR FirstName LIKE '%" + search + "%' OR Surname LIKE '%" + search + "%' OR IDNumber like '%" + search + "%';")
                    )
                {

                    while (reader.Read())
                    {
                        Image thumnail;

                        try
                        {
                            MemoryStream MemStream = null;
                            byte[] thumbByte = (byte[])reader["Thumbnail"];
                            MemStream = new MemoryStream(thumbByte);
                            thumnail = System.Drawing.Image.FromStream(MemStream);
                        }
                        catch (Exception)
                        {
                            thumnail = new Bitmap(100, 100);
                        }

                        thumnail = Utilities.Utilities.ResizeImage(thumnail, new Size(48, 36));
                        BetterListViewItem lstItem = new BetterListViewItem(new[] { reader["PersonID"].ToString(),

                                                                            reader["IDNumber"].ToString(),
                                                                             reader["FirstName"].ToString(),
                                                                              reader["Surname"].ToString(),
                                                                               reader["Roles"].ToString()

                        });
                        lstItem.Name = reader["PersonID"].ToString();
                        lstItem.Image = thumnail;

                        lsData.Items.Add(lstItem);

                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception.Message);
            }
        }
Пример #26
0
        public void UpDataListView()
        {
            if (missionListView.InvokeRequired == true)
            {
                UpDataListViewHandler set = new UpDataListViewHandler(UpDataListView);//委托的方法参数应和SetCalResult一致
                missionListView.Invoke(set); //此方法第二参数用于传入方法,代替形参result
            }
            else
            {
                if (CDataMng.Instance.MissionPage != null && CDataMng.Instance.MissionPage.renwu != null)
                {

                    BetterListViewItem item = new BetterListViewItem();

                    missionListView.BeginUpdate();

                    int n = 0;
                    foreach (Mission data in CDataMng.Instance.MissionPage.renwu)
                    {

                        missionListView.Items.Add(
                            new BetterListViewItem(string.Format("{0}  发布人:{1}",data.timer,data.name))
                            {
                                Font = fontItem,
                                AllowSelectChildItems = false,
                                IsExpanded = true
                            });

                        string tmpyaoqiu = data.yaoqiu.Replace("<font color=#0000E3>", "");
                        string[] yaoqiu = tmpyaoqiu.Split(new string[] { "</font>" }, StringSplitOptions.RemoveEmptyEntries);

                        missionListView.Items[n].ChildItems.AddRange(
                            new[]
                                {
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            Text = "ID:"+data.nameid
                                        },
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            Text = "经验值:",
                                            Tag = data.jinyan,
                                        },
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            Text = "链接数:"+data.type
                                        },
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            Text = "人数:"+data.sum
                                        },
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            Text = "小号要求:"+data.xiaohao.Replace("<br/>","").Replace(";","  ")
                                        },
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            Text = "佣金(RMB):"+data.yongjin
                                        },
                                    new BetterListViewItem
                                        {
                                            Font = fontChildItem1,
                                            ForeColor = Color.Red,
                                            Text = "任务要求:"
                                        },
                                     new BetterListViewItem
                                        {
                                            Font = fontChildItem2,
                                            ForeColor = Color.Blue,
                                            MaximumTextLines = 10,
                                            Text = yaoqiu[0]
                                        },
                                      new BetterListViewItem
                                        {
                                            Font = fontChildItem,
                                            MaximumTextLines = 10,
                                            Text = yaoqiu[1]
                                        },
                                      new BetterListViewItem
                                      {
                                          AllowShowExpandButton = true,
                                      }

                                });

                        n++;

                        //betterListView1.Items.Add(new string[]
                        //{
                        //    data.timer, /* "发布时间"*/
                        //    data.jinyan, /* "经验值"*/
                        //    data.nameid, /* "发布人ID编号"*/
                        //    data.name, /* "发布人"*/
                        //    data.type, /* "链接数"*/
                        //    data.sum, /* "人数"*/
                        //    data.xiaohao, /* "小号要求"*/
                        //    data.yongjin, /* "佣金(RMB)"*/
                        //    data.fangdan, /* "付款要求担保本金"*/
                        //    //data.timer, /* "是否接单"*/

                        //});

                        //betterListView1.Groups.Add(new BetterListViewGroup((n + 1).ToString()));

                        //betterListView1.Groups.AddRange(new[] { betterListView1.Items[n] });

                        //betterListView1.Items[n].SubItems.Add(data.yaoqiu);

                        //betterListView1.Groups[n].Items.Add(betterListView1.Items[n]);

                    }

                    missionListView.AutoSizeItemsInDetailsView = true;

                    missionListView.EndUpdate();

                    //Console.WriteLine("Groups {0}  Items {1}", betterListView1.Groups.Count, betterListView1.Items.Count);

                        //BetterListViewGroup itemGroup = new BetterListViewGroup()

                        //betterListView1.Groups.AddRange(
                        //    new[]
                        //        {
                        //            new BetterListViewGroup("Normal group"),
                        //            new BetterListViewGroup("Owner-drawn group")
                        //        });

                        //betterListView1.Items.AddRange(
                        //    new[]
                        //        {
                        //            new BetterListViewItem("Normal item"),
                        //            new BetterListViewItem("Owner-drawn item (overlay image)"),
                        //            new BetterListViewItem("Owner-drawn item (custom text)"),
                        //            new BetterListViewItem("Owner-drawn item (custom background)")
                        //        });

                        //for (int i = 0; i < 5; i++)
                        //{
                        //    foreach (Mission data in CDataMng.Instance.MissionPage.renwu)
                        //    {
                        //        betterListView1.Items.Add(data.yaoqiu);
                        //    }
                        //}

                        //betterListView1.EnsureVisible(betterListView1.Items.Count - 1);

                    }
            }
        }
Пример #27
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            this.btnStart.Enabled = false;
            int port = -1;
            if (int.TryParse(this.tbPort.Text, out port) && port <= 0)
            {
                MessageBox.Show("Wrong tcp port");
                return;
            }

            int clientNums = -1;
            if (int.TryParse(this.tbClientNum.Text, out clientNums) && clientNums <= 0)
            {
                MessageBox.Show("Wrong client nums");
                return;
            }
            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                MessageBox.Show("Network UnAvailable");
                return;
            }

            IPHostEntry host = Dns.GetHostByAddress(tbServerIP.Text);
            IPAddress[] addressList = host.AddressList;

            if (addressList.Length < 1)
            {
                MessageBox.Show("Didn't found any server");
                return;
            }

            this.Rebots.Clear();//Clear old rebot data.
            this.lvClients.Items.Clear();//Clear List View Old Rebot Data.

            for (int i = 0; i < clientNums; i++)
            {
                NSocket.SocketLib.NSocketRebot rebot = new SocketLib.NSocketRebot(addressList[addressList.Length - 1], 7890, 1024);
                rebot.Name = "#" + i.ToString();
                rebot.SendMessage = "HELLO WORLD";
                Rebots.Add(rebot.Name, rebot);
            }

            var rebotItems = new BetterListViewItem[this.Rebots.Keys.Count];

            this.lvClients.BeginUpdate();
            int rebotIndex = 0;
            foreach (var rebot in this.Rebots.Values)
            {
                var item = new ComponentOwl.BetterListView.BetterListViewItem(new[]{string.Empty, rebot.Name,
                            rebot.DelayTime.ToString(),
                            rebot.SendLength.ToString(),
                            rebot.ReceivedLength.ToString(),
                            rebot.WorkStatus.ToString(),
                            rebot.ConnectStatus.ToString(),
                            rebot.SendSuccessTimes.ToString(),
                            rebot.SendFailureTimes.ToString(),
                            rebot.ReceivedTimes.ToString(),
                            rebot.TryConnectTimes.ToString(),
                            rebot.ConnectDelay.ToString(),
                            rebot.WorkThreadID.ToString() });
                item.Name = rebot.Name;
                rebotItems[rebotIndex++] = item;
            }
            this.lvClients.Items.AddRange(rebotItems);
            this.lvClients.EndUpdate();
            foreach (var rebot in this.Rebots.Values)
            {
                ThreadPool.QueueUserWorkItem((o) =>
                {
                    rebot.Start();
                });
            }

            this.btnStop.Enabled = true;
        }
Пример #28
0
 public static TaskListViewSourceItem DataSource(this BetterListViewItem item)
 {
     return(item.Tag as TaskListViewSourceItem);
 }
Пример #29
0
 public static void Refresh(this BetterListViewItem item)
 {
     Refresh(item, item.ListView);
 }
Пример #30
0
 public static object DataObject(this BetterListViewItem item)
 {
     return((item.Tag as TaskListViewSourceItem)?.DataObject);
 }