Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
ClientServerProject
提交
6d79df35
C
ClientServerProject
项目概览
jobily
/
ClientServerProject
2023-09-12 01:32:09同步失败
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
ClientServerProject
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6d79df35
编写于
7月 12, 2017
作者:
Richard__Hu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
主界面添加了一些基础菜单,并未关联事件
上级
ca18a027
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
264 addition
and
2 deletion
+264
-2
软件系统客户端Wpf/MainWindow.xaml
软件系统客户端Wpf/MainWindow.xaml
+110
-1
软件系统客户端Wpf/MainWindow.xaml.cs
软件系统客户端Wpf/MainWindow.xaml.cs
+152
-1
软件系统客户端Wpf/screenshots/client1.png
软件系统客户端Wpf/screenshots/client1.png
+0
-0
软件系统客户端Wpf/软件系统客户端Wpf.csproj
软件系统客户端Wpf/软件系统客户端Wpf.csproj
+2
-0
未找到文件。
软件系统客户端Wpf/MainWindow.xaml
浏览文件 @
6d79df35
...
...
@@ -2,11 +2,120 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:软件系统客户端Wpf"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525" WindowState="Maximized">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Button.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.CheckBox.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ListBox.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.PopupBox.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.RadioButton.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.TextBlock.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToggleButton.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignCaptionTextBlock}" x:Key="Caption">
<Setter Property="Opacity" Value=".68"></Setter>
</Style>
</ResourceDictionary>
</Window.Resources>
<Grid>
<DockPanel>
<Menu IsMainMenu="True" DockPanel.Dock="Top">
<MenuItem Header="_管理员">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="AccountSettingsVariant" />
</MenuItem.Icon>
<MenuItem Header="公告更改">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="BorderColor" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="账户管理">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="AccountCircle" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="注册账户">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="AccountPlus" />
</MenuItem.Icon>
</MenuItem>
<Separator />
<MenuItem Header="日志查看">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="FlagVariant" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="远程更新">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Rotate3d" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="消息发送">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="MessageTextOutline" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="开发中心">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Security" />
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="_设置">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Settings" />
</MenuItem.Icon>
<MenuItem Header="密码更改">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="KeyChange" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="聊天信息">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="MessageOutline" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="头像更改">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="AccountConvert" />
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="_关于">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="CubeOutline" />
</MenuItem.Icon>
<MenuItem Header="关于本软件">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Leaf" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="更新日志">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="BookOpen" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="版本号说明">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="InformationOutline" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="意见反馈">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Bridge" />
</MenuItem.Icon>
</MenuItem>
</MenuItem>
</Menu>
</DockPanel>
</Grid>
</Window>
软件系统客户端Wpf/MainWindow.xaml.cs
浏览文件 @
6d79df35
using
System
;
using
CommonLibrary
;
using
HslCommunication.BasicFramework
;
using
HslCommunication.Enthernet
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
...
...
@@ -53,5 +57,152 @@ namespace 软件系统客户端Wpf
{
InitializeComponent
();
}
#
region
异步网络块
private
Net_Socket_Client
net_socket_client
=
new
Net_Socket_Client
();
private
void
Net_Socket_Client_Initialization
()
{
try
{
net_socket_client
.
KeyToken
=
CommonHeadCode
.
KeyToken
;
//新增的身份令牌
net_socket_client
.
EndPointServer
=
new
System
.
Net
.
IPEndPoint
(
System
.
Net
.
IPAddress
.
Parse
(
UserClient
.
ServerIp
),
CommonLibrary
.
CommonLibrary
.
Port_Main_Net
);
net_socket_client
.
ClientAlias
=
$"
{
UserClient
.
UserAccount
.
UserName
}
(
{
UserClient
.
UserAccount
.
Factory
}
)"
;
//标记客户端在线的名称
net_socket_client
.
ClientStart
();
}
catch
(
Exception
ex
)
{
SoftBasic
.
ShowExceptionMessage
(
ex
);
}
}
/// <summary>
/// 接收到服务器的字节数据的回调方法
/// </summary>
/// <param name="state">网络连接对象</param>
/// <param name="customer">用户自定义的指令头,用来区分数据用途</param>
/// <param name="data">数据</param>
private
void
Net_socket_client_AcceptString
(
AsyncStateOne
state
,
int
customer
,
string
data
)
{
if
(
customer
==
CommonHeadCode
.
MultiNetHeadCode
.
弹窗新消息
)
{
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
FormPopup
fpp
=
new
FormPopup
(
data
,
System
.
Drawing
.
Color
.
DodgerBlue
,
10000
);
fpp
.
Show
();
}));
}
else
if
(
customer
==
CommonHeadCode
.
MultiNetHeadCode
.
总在线信息
)
{
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
//listBox1.DataSource = data.Split('#');
}));
}
else
if
(
customer
==
CommonHeadCode
.
MultiNetHeadCode
.
关闭客户端
)
{
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
Close
();
}));
}
else
if
(
customer
==
CommonHeadCode
.
SimplifyHeadCode
.
更新公告
)
{
//此处应用到了同步类的指令头
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
UserClient
.
Announcement
=
data
;
//label_Announcement.Text = data;
FormPopup
fpp
=
new
FormPopup
(
data
,
System
.
Drawing
.
Color
.
DodgerBlue
,
10000
);
fpp
.
Show
();
}));
}
else
if
(
customer
==
CommonHeadCode
.
MultiNetHeadCode
.
初始化数据
)
{
//收到服务器的数据
JObject
json
=
JObject
.
Parse
(
data
);
UserClient
.
DateTimeServer
=
json
[
"Time"
].
ToObject
<
DateTime
>();
List
<
string
>
chats
=
JArray
.
Parse
(
json
[
"chats"
].
ToString
()).
ToObject
<
List
<
string
>>();
StringBuilder
sb
=
new
StringBuilder
();
chats
.
ForEach
(
m
=>
{
sb
.
Append
(
m
+
Environment
.
NewLine
);
});
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
//toolStripStatusLabel_time.Text = UserClient.DateTimeServer.ToString("yyyy-MM-dd HH:mm");
//label_file_count.Text = json["FileCount"].ToObject<int>().ToString();
//UIControls_Chat.AddChatsHistory(sb.ToString());
}));
}
else
if
(
customer
==
CommonHeadCode
.
MultiNetHeadCode
.
文件总数量
)
{
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
//label_file_count.Text = data;
}));
}
else
if
(
customer
==
CommonHeadCode
.
MultiNetHeadCode
.
留言版消息
)
{
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
//UIControls_Chat?.DealwithReceive(data);
}));
}
}
private
void
Net_socket_client_AcceptByte
(
AsyncStateOne
object1
,
int
customer
,
byte
[]
object2
)
{
//接收到服务器发来的字节数据
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
MessageBox
.
Show
(
customer
.
ToString
());
}));
}
private
void
Net_socket_client_LoginSuccess
()
{
//登录成功,或重新登录成功的事件,有些数据的初始化可以放在此处
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
//toolStripStatusLabel_status.Text = "客户端启动成功";
}));
}
private
void
Net_socket_client_LoginFailed
(
int
object1
)
{
//登录失败的情况,如果连续三次连接失败,请考虑退出系统
if
(
object1
>
3
)
{
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
Close
();
}));
}
}
private
void
Net_socket_client_MessageAlerts
(
string
object1
)
{
//信息提示
Dispatcher
.
Invoke
(
new
Action
(()
=>
{
//toolStripStatusLabel_status.Text = object1;
}));
}
#
endregion
}
}
软件系统客户端Wpf/screenshots/client1.png
查看替换文件 @
ca18a027
浏览文件 @
6d79df35
14.3 KB
|
W:
|
H:
13.9 KB
|
W:
|
H:
2-up
Swipe
Onion skin
软件系统客户端Wpf/软件系统客户端Wpf.csproj
浏览文件 @
6d79df35
...
...
@@ -50,6 +50,8 @@
</Reference>
<Reference
Include=
"System"
/>
<Reference
Include=
"System.Data"
/>
<Reference
Include=
"System.Drawing"
/>
<Reference
Include=
"System.Windows.Forms"
/>
<Reference
Include=
"System.Xml"
/>
<Reference
Include=
"Microsoft.CSharp"
/>
<Reference
Include=
"System.Core"
/>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录