You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

111 lines
3.0 KiB

using SelfHelpClient.BL;
using SelfHelpClient.BO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Windows.Forms;
using System.Windows.Input;
namespace SelfHelpClient
{
public partial class MainForm : Form
{
private static MainForm mForm;
public static MainForm Form
{
get { return mForm; }
}
public MainForm()
{
if (!File.Exists("AppConfig.cfg"))
{
MessageBox.Show("请先配置服务器地址");
this.Close();
}
WeightBillBL.ServerUrl = File.ReadAllText("AppConfig.cfg");
mForm = this;
InitializeComponent();
DisableWPFTabletSupport();
}
private void selfBtn_Click(object sender, EventArgs e)
{
ReadCard();
if (Program.ve == null)
return;
if (Program.ve.BillType == 0)
{
DialogForm.ShowDialog("没有待办理业务", 5);
return;
}
new SelfHelpForm(Program.ve.ID).ShowDialog();
//this.Hide();
}
private void weightBtn_Click(object sender, EventArgs e)
{
ReadCard();
if (Program.ve == null)
return;
new WeightForm(Program.ve).Show();
this.Hide();
}
void ReadCard()
{
Program.ve = null;
var reader = new ReadCardForm();
reader.ShowDialog();
}
private void closeBtn_Click(object sender, EventArgs e)
{
this.Close();
}
public static void DisableWPFTabletSupport()
{
// Get a collection of the tablet devices for this window.
var devices = System.Windows.Input.Tablet.TabletDevices;
if (devices.Count > 0)
{
// Get the Type of InputManager.
Type inputManagerType = typeof(System.Windows.Input.InputManager);
// Call the StylusLogic method on the InputManager.Current instance.
object stylusLogic = inputManagerType.InvokeMember("StylusLogic",
BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.NonPublic,
null, InputManager.Current, null);
if (stylusLogic != null)
{
// Get the type of the device class.
Type devicesType = devices.GetType();
// Loop until there are no more devices to remove.
int count = devices.Count + 1;
while (devices.Count > 0)
{
// Remove the first tablet device in the devices collection.
devicesType.InvokeMember("HandleTabletRemoved", BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.NonPublic, null, devices, new object[] { (uint)0 });
count--;
if (devices.Count != count)
{
throw new Win32Exception("Unable to remove real-time stylus support.");
}
}
}
}
}
}
}