void UserCountTimer_Tick(object sender, EventArgs e) { int userCount = SocketCommService.GetUserInfoCount(); IPMessengerNotifyIcon.Text = string.Format("IPMessenger({0})", userCount); Console.WriteLine("User count = {0}", userCount); }
void ToolStripItem_Click(object sender, EventArgs e) { if (sender == null || !(sender is ToolStripItem)) { return; } ToolStripItem item = sender as ToolStripItem; if (item == null) { return; } if (item.Tag == null || !(item.Tag is TextMessageData)) { if (item.OwnerItem != null && item.OwnerItem is ToolStripMenuItem) { ToolStripMenuItem owner = item.OwnerItem as ToolStripMenuItem; owner.DropDownItems.Remove(item); if (owner.DropDownItems.Count == 0) { if (owner.Owner != null) { ToolStrip toolStrip = owner.Owner; toolStrip.Items.Remove(owner); } } } return; } TextMessageData textMessageData = item.Tag as TextMessageData; if (textMessageData == null) { return; } UserInfo userInfo = SocketCommService.GetUserInfo(textMessageData.IPAddress); if (userInfo == null) { return; } //MessageBox.Show(textMessageData.Text, string.Format("Received From {0} at {1}", userInfo.UserName, textMessageData.ReceiptTime)); ReceivedMessageForm receivedMEssageForm = new ReceivedMessageForm(textMessageData, userInfo); receivedMEssageForm.Show(); if (item.OwnerItem != null && item.OwnerItem is ToolStripMenuItem) { ToolStripMenuItem owner = item.OwnerItem as ToolStripMenuItem; owner.DropDownItems.Remove(item); if (owner.DropDownItems.Count == 0) { if (owner.Owner != null) { ToolStrip toolStrip = owner.Owner; toolStrip.Items.Remove(owner); } } } }
public ReceivedMessageForm(TextMessageData textMessageData) { if (textMessageData == null) { throw new ArgumentNullException("textMessageData", "Something is wrong. TextMessageData should not be null."); } ReceivedTextMessageData = textMessageData; ReceivedUserInfo = SocketCommService.GetUserInfo(textMessageData.IPAddress); if (ReceivedUserInfo == null) { throw new Exception("Text message received from unknown user"); } InitializeComponent(); StringBuilder stringBuilder = new StringBuilder("Received message from "); stringBuilder.Append(ReceivedUserInfo.UserName); if (ReceivedUserInfo.LogOnName != ReceivedUserInfo.UserName) { stringBuilder.AppendFormat(" [{0}]", ReceivedUserInfo.LogOnName); } stringBuilder.AppendFormat(" ({0})", ReceivedUserInfo.MachineName); stringBuilder.AppendFormat("{0}at {1}", Environment.NewLine, ReceivedTextMessageData.ReceiptTime); MessegeInfoLabel.Text = stringBuilder.ToString(); MessegeTextBox.Text = ReceivedTextMessageData.Text; }
public SendMenuForm() { InitializeComponent(); InitializeSendMenuSourceDataTable(); InitializeMenuListView(); SocketCommService.SubscribeForUserInfos(this); }
internal void SelectMenuEntry(string ipAddressString) { int noOfUsers = SocketCommService.GetUserInfoCount(); while (SendMenuSourceDataTable.Rows.Count < noOfUsers) { //Wait Thread.Sleep(100); } string filterExpression = string.Format("{0} = '{1}'", IPAddress, ipAddressString); DataRow[] dataRows = SendMenuSourceDataTable.Select(filterExpression); if (dataRows == null || dataRows.Length == 0) { return; } MenuGridView.ClearSelection(); foreach (DataRow dataRow in dataRows) { foreach (DataGridViewRow dataGridViewRow in MenuGridView.Rows) { if ((dataGridViewRow.DataBoundItem as DataRowView).Row == dataRow) { dataGridViewRow.Selected = true; } } } }
private void SendButton_Click(object sender, EventArgs e) { foreach (DataGridViewRow row in MenuGridView.SelectedRows) { SocketCommService.SendTextMessage(row.Cells[IPAddress].Value.ToString(), MessageTextBox.Text); } this.Close(); }
public static void Intialize() { if (SingletonInstance == null) { SingletonInstance = new CMain(); } SingletonInstance.InitializeNotifyIcon(); SingletonInstance.InitializeUserCountTimer(); SocketCommService.SubscribeForTextMessages(SingletonInstance); }
private void ProcessTextMessage(TextMessageData textMessageData) { if (textMessageData == null) { return; } UserInfo userInfo = SocketCommService.GetUserInfo(textMessageData.IPAddress); if (userInfo == null) { return; } ContextMenuStrip contextMenuStrip = IPMessengerNotifyIcon.ContextMenuStrip; if (contextMenuStrip == null) { //MessageBox.Show(textMessageData.Text, string.Format("Received From {0} at {1}", userInfo.UserName, textMessageData.ReceiptTime)); ReceivedMessageForm receivedMEssageForm = new ReceivedMessageForm(textMessageData, userInfo); receivedMEssageForm.Show(); return; } ToolStripMenuItem receivedMessagesToolStripMenuItem; if (contextMenuStrip.Items.ContainsKey("Received Messages") == false) { receivedMessagesToolStripMenuItem = new ToolStripMenuItem("Received Messages"); receivedMessagesToolStripMenuItem.Name = "Received Messages"; int exitIndex = contextMenuStrip.Items.IndexOfKey("Exit"); contextMenuStrip.Items.Insert(exitIndex, receivedMessagesToolStripMenuItem); } else { receivedMessagesToolStripMenuItem = contextMenuStrip.Items["Received Messages"] as ToolStripMenuItem; } string key = string.Format("{0} at {1}", userInfo.UserName, textMessageData.ReceiptTime); ToolStripItem toolStripItem = receivedMessagesToolStripMenuItem.DropDownItems.Add(key); toolStripItem.Name = key; toolStripItem.Tag = textMessageData; toolStripItem.Click += new EventHandler(ToolStripItem_Click); IPMessengerNotifyIcon.Tag = textMessageData; string balloonToolTipText = string.Format("Received message from {0}", userInfo.UserName); IPMessengerNotifyIcon.ShowBalloonTip(1000, "Received Message", balloonToolTipText, ToolTipIcon.Info); }
static void Main(string[] args) { SocketCommService.SubscribeForUserInfos(new Program()); SocketCommService.SubscribeForTextMessages(new Program()); do { UIStatus = EUIStatus.ShowingReceicvedMessages; ShowRecivedMessages(); UIStatus = EUIStatus.ShowingMenu; ShowSelectionMenu(); UIStatus = EUIStatus.WaitingForUserSelection; char userInput = GetUserInput(); UIStatus = EUIStatus.ProcessingUserSelction; ProcessUserInput(userInput); Console.Clear(); }while (true); }
void IPMessengerNotifyIcon_BalloonTipClicked(object sender, EventArgs e) { if (IPMessengerNotifyIcon.Tag == null || (IPMessengerNotifyIcon.Tag is TextMessageData) == false) { return; } TextMessageData textMessageData = IPMessengerNotifyIcon.Tag as TextMessageData; if (textMessageData == null) { return; } UserInfo userInfo = SocketCommService.GetUserInfo(textMessageData.IPAddress); if (userInfo == null) { return; } ContextMenuStrip contextMenuStrip = IPMessengerNotifyIcon.ContextMenuStrip; if (contextMenuStrip != null && contextMenuStrip.Items.ContainsKey("Received Messages")) { ToolStripMenuItem receivedMessagesToolStripMenuItem = contextMenuStrip.Items["Received Messages"] as ToolStripMenuItem; if (receivedMessagesToolStripMenuItem != null) { string key = string.Format("{0} at {1}", userInfo.UserName, textMessageData.ReceiptTime); int index = receivedMessagesToolStripMenuItem.DropDownItems.IndexOfKey(key); if (index >= 0) { receivedMessagesToolStripMenuItem.DropDownItems.RemoveAt(index); if (receivedMessagesToolStripMenuItem.DropDownItems.Count == 0) { contextMenuStrip.Items.Remove(receivedMessagesToolStripMenuItem); } } } } //MessageBox.Show(textMessageData.Text, string.Format("Received From {0} at {1}", userInfo.UserName, textMessageData.ReceiptTime)); ReceivedMessageForm receivedMEssageForm = new ReceivedMessageForm(textMessageData, userInfo); receivedMEssageForm.Show(); }
private void RefreshButton_Click(object sender, EventArgs e) { SocketCommService.RefreshSignonService(); }
private void UpdateMemberCount() { MembersLabel.Text = string.Format("Members\n{0}", SocketCommService.GetUserInfoCount()); }