WCF之功能总结

WCF之功能总结

最近在做一个WCF项目,由于第一次实战,还是有很多不懂的,下面分享一下在做项目中总结下面的功能。
功能一:窗体居中

在属性页中找到StartPosition属性,修改值为CenterScreen;

功能二:WinForm程序中使窗体大小不可改变

在属性页中找到FormBorderStyle属性,修改值为FixedDialog;

功能三:下拉框不可编辑

在属性页中找到DropDownStyle属性,修改值为DropDownList;

功能四:手动给datetable添加数据

//实例化DATATABLE DATATABLE DD = NEW DATATABLE();

//添加列数据名称和数据类型
DD.COLUMNS.ADD(NEW DATACOLUMN(“DATA”, TYPE.GETTYPE(“SYSTEM.STRING”)));
//实例化DATAROW行数据
DATAROW DATAROW = DD. NEWROW(); //给行数据添加数据。
DATAROW[“DATA”] = “22”;
//将行数据添加到表数据中
DD.ROWS.ADD(DATAROW);

功能五:WinForm程序窗体随鼠标移动

PUBLIC STATIC POINT CPOINT;
        PRIVATE VOID FRMLOGIN_MOUSEDOWN(OBJECT SENDER, MOUSEEVENTARGS E)
        {
            CPOINT = NEW POINT(-E.X, -E.Y);
        }
        PRIVATE VOID FRMLOGIN_MOUSEMOVE(OBJECT SENDER, MOUSEEVENTARGS E)
        {
            IF (E.BUTTON == MOUSEBUTTONS.LEFT)
            {
                POINT MYPOSITTION = CONTROL.MOUSEPOSITION;//获取当前鼠标的屏幕坐标
                MYPOSITTION.OFFSET(CPOINT.X, CPOINT.Y);//重载当前鼠标的位置
                THIS.DESKTOPLOCATION = MYPOSITTION;//设置当前窗体在屏幕上的位置
            }
        }

功能六:子窗体点击关闭按钮实现提示框并可退出程序

BOOL MESSAGEBOX_CLOSE=FALSE;
PRIVATE VOID MAIN_FORMCLOSING(OBJECT SENDER, FORMCLOSINGEVENTARGS E)
        {
            //解决两次提示问题
            IF (!MESSAGEBOX_CLOSE)
            {
                IF (MESSAGEBOX.SHOW("确定退出吗?", "退出程序", MESSAGEBOXBUTTONS.OKCANCEL) != DIALOGRESULT.OK)
                {
                    //取消默认事件
                    E.CANCEL = TRUE;
                }
                ELSE
                {
                    MESSAGEBOX_CLOSE = TRUE; 
                    APPLICATION.EXIT();
                    E.CANCEL = TRUE;
                }
            }
        }

功能七:解决分布式客户端接收不了DataTable数据类型
解决办法:将DataTable存放到DataSet数据类型中,再传到客户端。
服务端代码如下:

   PUBLIC DATASET SELECTTYPE() {
                SQLPARAMETER[] SQLPAMS = {
                                    NEW SQLPARAMETER("@TYPE",SQLDBTYPE.NCHAR)
                                         };//声明SQL参数数组并实例化相关参数
                SQLPAMS[0].VALUE = "SELECTUSER_TYPE";//对参数赋值
                DATASET DATESET = NEW DATASET();
                DATATABLE DT = DAL.QUERYDATATABLE("FRM_LOGIN", SQLPAMS);
                DATESET.TABLES.ADD(DT);
               
                //MYDAL.DAL_SELECTDB_PAR("存储过程的名字",SQL参数数组);
                RETURN DATESET;
    }

客户端代码如下:

PRIVATE VOID LOGIN_LOAD(OBJECT SENDER, EVENTARGS E)
        {
            THIS.SELECTTYPE.DATASOURCE = BLL.SELECTTYPE().TABLES[0];
            THIS.SELECTTYPE.DISPLAYMEMBER = "USERTYPE_NAME";
            THIS.SELECTTYPE.VALUEMEMBER = "USERTYPE_ID";
            THIS.SELECTTYPE.SELECTEDINDEX = 0;          
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值