124 lines
3.9 KiB
C#
124 lines
3.9 KiB
C#
|
using FellowOakDicom;
|
|||
|
using FellowOakDicom.Log;
|
|||
|
using Microsoft.Extensions.Options;
|
|||
|
using NLog;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Configuration;
|
|||
|
using System.Data;
|
|||
|
using System.Diagnostics;
|
|||
|
using System.Drawing;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Windows.Forms;
|
|||
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ToolTip;
|
|||
|
|
|||
|
namespace Worklist_SCP
|
|||
|
{
|
|||
|
public partial class worklistForm : Form
|
|||
|
{
|
|||
|
public worklistForm()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void btn_start_or_stop_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (btn_start_or_stop.Text == "启动")
|
|||
|
{
|
|||
|
new DicomSetupBuilder().RegisterServices(s => s.AddFellowOakDicom().AddLogManager<ConsoleLogManager>()).Build();
|
|||
|
WorklistServer.Start(int.Parse(txt_port.Text), txt_aet.Text);
|
|||
|
btn_start_or_stop.Text = "停止";
|
|||
|
string msgStr = "worklist scp开始监听:"+ txt_aet.Text+" 端口:"+ txt_port.Text;
|
|||
|
DoData(msgStr);
|
|||
|
}
|
|||
|
else if (btn_start_or_stop.Text == "停止")
|
|||
|
{
|
|||
|
WorklistServer.Stop();
|
|||
|
btn_start_or_stop.Text = "启动";
|
|||
|
string msgStr = "worklist scp停止监听:" + txt_aet.Text + " 端口:" + txt_port.Text;
|
|||
|
DoData(msgStr);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private void worklistForm_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
//logger.Info("这是一条信息日志");
|
|||
|
//logger.Warn("这是一条警告日志");
|
|||
|
//logger.Error("这是一条错误日志");
|
|||
|
//logger.Error("aa");
|
|||
|
|
|||
|
|
|||
|
//byte[] utf8Bytes = Encoding.UTF8.GetBytes("AA");
|
|||
|
//// 将UTF-8字节转换为GB18030编码的字节
|
|||
|
//byte[] gb18030Bytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("UTF-8"), utf8Bytes);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// return gb18030Bytes;
|
|||
|
string worklistModel = ConfigurationManager.AppSettings["worklistModel"] == "0" ? "本地模式" : "远程模式";
|
|||
|
this.Text +=("【DICOM工作模式:"+worklistModel+"】");
|
|||
|
txt_aet.Text = ConfigurationManager.AppSettings["worklistScpAET"];
|
|||
|
txt_port.Text =ConfigurationManager.AppSettings["worklistScpPort"];
|
|||
|
btn_start_or_stop_Click(null,null);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
private delegate void DoDataDelegate(object txtContent);
|
|||
|
/// <summary>
|
|||
|
/// 异步赋值
|
|||
|
/// </summary>
|
|||
|
/// <param name="number"></param>
|
|||
|
private void DoData(object txtContent)
|
|||
|
{
|
|||
|
if (txt_msg.InvokeRequired)
|
|||
|
{
|
|||
|
DoDataDelegate d = DoData;
|
|||
|
txt_msg.Invoke(d, txtContent);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
txt_msg.AppendText("\r\n" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "消息 : " + txtContent.ToString() + "\r\n");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
bool isClose = false;
|
|||
|
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if(MessageBox.Show("退出后影像设备将无法接收HIS系统登记的患者信息,确定退出吗?","提示:",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning)==DialogResult.OK)
|
|||
|
{
|
|||
|
isClose=true;
|
|||
|
Application.Exit();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void worklistForm_FormClosing(object sender, FormClosingEventArgs e)
|
|||
|
{
|
|||
|
if (!isClose)
|
|||
|
{
|
|||
|
this.Hide();
|
|||
|
e.Cancel = true;
|
|||
|
this.notifyIcon1.ShowBalloonTip(5000);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.Show();
|
|||
|
}
|
|||
|
|
|||
|
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.Show();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|