📄 formmain.cs
字号:
loginTimerCount = 0;
this.tabSelfInfo.Text =FormAccess.selfInfo.userName + "(未登录)";
this.tabSelfInfo.Refresh();
((Timer)sender).Enabled = false;
this.NotifyIcon.BalloonTipText = "由于网络原因造成连接服务器超时,登录失败!";
this.NotifyIcon.BalloonTipTitle = "LanMsg登录失败";
this.NotifyIcon.ShowBalloonTip(5000);
}
if (loginTimerCount % 2 == 0)
{
this.StartButton.Icon = this.loginIcon;
}
else
{
this.StartButton.Icon = null;
}
}
#endregion
#region 菜单操作事件
private void but_Click(object sender, EventArgs e)
{
DevComponents.DotNetBar.ButtonItem but = (DevComponents.DotNetBar.ButtonItem)sender;
switch (but.Name )
{
case "butLogin":
if (FormAccess.selfInfo.State == 0)
{
this.Login();//开始登录
this.timerLogin.Enabled = true; //开始检测登录
}
break;
case "butOut": //向服务器及其他用户发送离线
break;
case "butChangeUser"://更改登录用户
FormLogin flogin = new FormLogin();
flogin.ShowDialog (this);
break;
case "butLink":
case "butBusy":
case "butLeave":
case "butPhone":
case "butRepast":
this.changeOnlineState(but);
break;
case "ButSendGroupMsg":
FormAccess.showPublicForm("FormSendMsgGroup");
break;
case "butExit":
this.ExitApp();//退出程序
break;
case "butClose":
this.Close();//关闭程序
break;
case "butAbout":
FormAccess.showPublicForm("AboutBox");
break;
case"butMsgMis":
FormAccess.showPublicForm("FormRecordMsgMisg");
break;
case "MenuSystemSet":
FormAccess.showPublicForm("FormAppSet" );
break;
}
}
private void changeOnlineState(object sender)
{
DevComponents.DotNetBar.ButtonItem but = (DevComponents.DotNetBar.ButtonItem)sender;
bool t = false;
{
this.butLink.Checked = t;
this.butBusy.Checked = t;
this.butLeave.Checked = t;
this.butPhone.Checked = t;
this.butRepast.Checked = t;
}
but.Checked = !t;
switch (but.Name)
{
case "butLink":
FormAccess.selfInfo.State = 1;
break;
case "butBusy":
FormAccess.selfInfo.State = 2;
break;
case "butLeave":
FormAccess.selfInfo.State = 4;
break;
case "butPhone":
FormAccess.selfInfo.State = 3;
break;
case "butRepast":
FormAccess.selfInfo.State = 5;
break;
}
}
#endregion
#region 登录OA Web页面
HtmlElement OA_txtUserHtml, OA_txtPasswordHtml, OA_btnClickHtml;
private void webBrowser2_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement txtUserHtml = webBrowser1.Document.All["LoginForm.wps.portlets.userid"];
HtmlElement txtPasswordHtml = webBrowser1.Document.All["LoginForm.password"];
HtmlElement btnClickHtml = webBrowser1.Document.All["PC_7_6V066I93001V0025VNDTDV10G0__login"];
//HtmlElement formLogin = webBrowser1.Document.Forms["LoginForm"];
//for (int i=0;i<webBrowser1.Document.All.Count;i++)
// MessageBox.Show(webBrowser1.Document.Forms.GetElementsByName[]):
//if (txtPasswordHtml == null)
// MessageBox.Show("没有找到txtPasswordHtml输入点");
//if (btnClickHtml == null)
// MessageBox.Show("没有找到btnClickHtml输入点");
txtUserHtml.SetAttribute("value", "52000078");//输入用户名
txtPasswordHtml.SetAttribute("value", "888888");//输入密码
btnClickHtml.InvokeMember("click");
// formLogin.InvokeMember("submit");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
OA_txtUserHtml = webBrowser1.Document.All["txtUserName"];
OA_txtPasswordHtml = webBrowser1.Document.All["txtPassword"];
OA_btnClickHtml = webBrowser1.Document.All["btnLogin"];
}
private void LoginOA(string userName,string password)
{
if (OA_txtUserHtml != null && OA_txtPasswordHtml != null && OA_btnClickHtml != null)
{
OA_txtUserHtml.SetAttribute("value", "ligy");//输入用户名
OA_txtPasswordHtml.SetAttribute("value", "sbmqjuem");//输入密码
OA_btnClickHtml.InvokeMember("click");
}
}
private void tabControlMain_SelectedTabChanged(object sender, DevComponents.DotNetBar.TabStripTabChangedEventArgs e)
{
switch (e.NewTab.Tooltip)
{
case "OA主页":
LoginOA("", "");
break;
}
}
#endregion
#region TreeView操作及事件
private void TreeUsers_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
switch (e.Node.Tag.ToString())
{
case "0":
break;
case "1":
//if (e.Node.Name == FormAccess.selfInfo.UserID) return;
FormAccess.newSendMsgForm(e.Node.Name);
break;
}
}
private void TreeUsers_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (!e.Node.IsExpanded && e.Node.Nodes.Count != 0 && !e.Node.TreeView.CheckBoxes )
{
e.Node.TreeView.CollapseAll();
e.Node.Expand();
}
switch (e.Node.Tag.ToString())
{
case "0":
break;
case "1":
if (e.Node.Name == FormAccess.selfInfo.UserID) return;
//if (FormAccess.findUser(e.Node.Name).State != 0)
this.MenuStripSend.Show(this.TreeUsers, e.X, e.Y+2);
break;
}
}
private void TreeUsers_AfterCheck(object sender, TreeViewEventArgs e)
{
foreach (TreeNode node in e.Node.Nodes)
node.Checked = e.Node.Checked;
}
private void TreeUsers_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.All;
}
TreeNode node = TreeUsers.GetNodeAt(e.X, e.Y);
if (node == null) return;
TreeUsers.SelectedNode = node;
}
private void TreeUsers_DragDrop(object sender, DragEventArgs e)
{
TreeNode node= TreeUsers.GetNodeAt(e.X, e.Y);
if (node == null) return;
TreeUsers.SelectedNode = node;
if (node.Tag.ToString() == "1")
{
if (node.Name == FormAccess.selfInfo.UserID) return;
FormAccess.newSendMsgForm(node.Name);
}
//if (e.Data.GetDataPresent(DataFormats.FileDrop))
//{
// currUserInfo = FormAccess.findUser(this.Tag.ToString());
// if (currUserInfo == null) return;
// string[] MyFiles;
// int i;
// // 将文件赋给一个数组。
// MyFiles = (string[])(e.Data.GetData(DataFormats.FileDrop));
// // 循环处理数组并将文件添加到列表中。
// for (i = 0; i <= MyFiles.Length - 1; i++)
// {
// System.IO.FileInfo f = new System.IO.FileInfo(MyFiles[i]);
// if (f.Exists)
// this.FileTransfers(true, f.Name, f.FullName, f.Extension, f.Length, currUserInfo.IP, currUserInfo.Port);
// }
//}
}
private TreeNode m_LastMouseOverNode = null;
private void TreeUsers_MouseMove(object sender, MouseEventArgs e)
{
TreeNode nodeAt = this.TreeUsers.GetNodeAt(e.X, e.Y);
if (nodeAt != m_LastMouseOverNode)
{
HideNodeTooltip();
if (nodeAt != null)
{
m_LastMouseOverNode = nodeAt;
// Delayed display
tooltipDisplayDelay.Start();
}
}
}
private void tooltipDisplayDelay_Tick(object sender, System.EventArgs e)
{
tooltipDisplayDelay.Stop();
if (m_LastMouseOverNode != null)
ShowNodeTooltip(m_LastMouseOverNode);
}
private void HideNodeTooltip()
{
if (m_LastMouseOverNode != null)
{
//NodeSuperTooltipProvider sp = m_LastMouseOverNode.Tag as NodeSuperTooltipProvider;
//sp.Hide();
this.superTooltip1.HideTooltip ();
m_LastMouseOverNode = null;
}
}
private void ShowNodeTooltip(TreeNode node)
{
if (node == null)
return;
//NodeSuperTooltipProvider sp = node.Tag as NodeSuperTooltipProvider;
//sp.Show();
superTooltip1.ShowTooltip(node );
m_LastMouseOverNode = node;
}
private void TreeUsers_MouseDown(object sender, MouseEventArgs e)
{
// Hide tooltip if any is visible...
HideNodeTooltip();
}
#endregion
private void MenuStripSend_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
MenuStripSend.Hide();
switch (e.ClickedItem.Name)
{
case "MenuItemSendMsg":
FormAccess.newSendMsgForm(this.TreeUsers.SelectedNode.Name);
break;
case "MenuItemSendFile":
System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog();
fd.Multiselect = true;
fd.Filter = "所有文件|*.*";
if (fd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
exUser user = FormAccess.findUser(this.TreeUsers.SelectedNode.Name);
FormSendMsg fSendMsg = (FormAccess.newSendMsgForm(this.TreeUsers.SelectedNode.Name) as FormSendMsg);
for (int i = 0; i < fd.FileNames.Length; i++)
{
System.IO.FileInfo f = new System.IO.FileInfo(fd.FileNames[i]);
fSendMsg.FileTransfers(true, f.Name, f.FullName, f.Extension, f.Length, user.IP, user.Port);
}
}
break;
}
}
private void FormMain_ResizeEnd(object sender, EventArgs e)
{
//if (this.WindowState == FormWindowState.Minimized)
// this.TopMost = false;
//else
// this.TopMost = true;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -