using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using WMS.Base.WebService;
using WMS.Model.Base;
using System.IO;
namespace WMS.Frm.Base
{
public partial class FrmGoods : Form
{
private static FrmGoods goods;
private string oldGoodsID;
///
/// 实例化Goods的一个对象
///
/// Goods对象
public static FrmGoods GetInstance()
{
if (goods == null || goods.IsDisposed)
{
goods = new FrmGoods();
}
return goods;
}
public FrmGoods()
{
InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Opacity = 0.6;
}
public bool Set(string goodsID,Point point)
{
if (oldGoodsID != goodsID) {
//获取商品信息
string strGoodsList = WebLockConfig.Instance.Goods.GetGoodsList(goodsID, "", "", "");
List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(strGoodsList);
if (list.Count == 0)
{
return false;
}
GoodsInfoModel goods = list[0];
//显示图片
if (goods.IMG != null)
{
MemoryStream ms = new System.IO.MemoryStream(goods.IMG);
pictureEdit.Image = System.Drawing.Image.FromStream(ms);
this.pictureEdit.Size = pictureEdit.Image.Size;
this.ClientSize = this.pictureEdit.Size;
}
oldGoodsID = goodsID;
}
if (pictureEdit.Image == null) {
return false;
}
//根据图片调整位置
int screenHeight = Screen.GetWorkingArea(this).Height;
if (point.Y + pictureEdit.Image.Height > screenHeight)
{
point = new Point(point.X, point.Y - pictureEdit.Image.Height - 20);
}
this.Location = point;
return true;
}
/////
///// 修改窗体的Paint事件,美化界面,这里做一个渐变背景,需要引入System.Drawing.Drawing2D;
/////
/////
/////
//private void Goods_Paint(object sender, PaintEventArgs e)
//{
// Graphics g = e.Graphics;
// Color FColor = Color.Red;
// Color TColor = Color.Yellow;
// Brush b = new LinearGradientBrush(this.ClientRectangle, FColor, TColor, LinearGradientMode.ForwardDiagonal);
// g.FillRectangle(b, this.ClientRectangle);
//}
////实现鼠标拖动悬浮窗体
//const int WM_NCHITTEST = 0x0084;
//const int HTCLIENT = 0x0001;
//const int HTCAPTION = 0x0002;
//protected override void WndProc(ref System.Windows.Forms.Message m)
//{
// switch (m.Msg)
// {
// case WM_NCHITTEST:
// base.WndProc(ref m);
// if (m.Result == (IntPtr)HTCLIENT)
// m.Result = (IntPtr)HTCAPTION;
// break;
// default:
// base.WndProc(ref m);
// break;
// }
//}
}
}