本教程目的在于让大家熟悉并掌握各种API的使用。
在窗体中进行服务端文件下载
调用Client.FileDownload(url)或Client.FileDownload(resourceId,resourcePath)方法即可;
代码如下:
C#:
//下载网路图片
Client.FileDownload("https://www.baidu.com/img/flexible/logo/pc/result.png");
// 下载debug\Resource\Image\logon.png
Client.FileDownload("logon.png", SwebResourceManager.DefaultImagePath);
在窗体将本地中下载的文件上传到服务端文件夹
调用Client.FileUpload()方法即可;
代码如下:
C#:
Client.FileUpload((obj, args) => {
if (args.isError == true)
Toast(args.error);
else
{
args.SaveFile(args.ResourceID);
}
});
C#:
//第一个参数为回调;第二个参数设置是否获取地址,默认false;第三个参数mapkey
Client.GetGps((obj, args) => {
if(args.isError==false)
Toast(string.Format("纬度{0} 经度{1} 地址{2}",args.Latitude.ToString(),args.Longitude.ToString(),args.Location));
else Toast(args.error);
},false, "");
//如需获取坐标信息Location,第二个参数需要设置true,第三个参数需要填写高德web服务key
Client.GetGps((obj, args) => {
if(args.isError==false)
Toast(string.Format("纬度{0} 经度{1} 地址{2}",args.Latitude.ToString(),args.Longitude.ToString(),args.Location));
else Toast(args.error);
},true, "高德web服务key");
注:获取坐标信息需要在Setting设置中BaiduMapApi处填写百度浏览器端Key
可以在设计器中点击右下角Setting设置,也可通过this.Client.SetWebTitle方法设置
C#:
this.Client.SetWebTitle ( "标题");
此处的Icon指的是浏览器选项卡上显示的图标,如下如图中圈出位置。更换图标只需在exe同目录下放置名为“favicon.ico”的图标文件
EJ2控件包括GridView,AutoComplete,Combobox,可以通过SetEJControlTheme给全部EJ2控件设置主题,但控件背景色仍需单独设置。
C#:
this.Client.SetEJControlTheme(EJTheme.Dark);
1.调用Client.JSEval,方法即可,代码如下:
C#:
Client.JSEval(@"alert(""弹出窗口"")", (obj, args) =>
{
if (args.errorCode == 0)
Toast("success");
});
2.通过调用Client.JSEval自定义查找控件,代码如下:
C#:
//demoRootForm 为窗体Name,btnTest为要查找的button的Name
string jscode = @"let ctl = findControl('demoRootForm');
let button = findControl('btnTest', ctl);
alert(button.innerText);
";
this.Client.JSEval(jscode, (obj, args) => { });
3.Client.JSEval执行window.customCallBack("需要返回的数据")返回的数据可以在窗体的CustomCallBack事件中接收,JSEval代码:
C#:
string jscode = @"window.customCallBack(""发送信息""); ";
this.Client.JSEval(jscode, (obj, args) =>{});
接收代码:
C#:
private void demoRootForm_CustomCallBack(object sender, CustomCallBackEventArgs e)
{
Toast("窗体事件接收:"+e.Params.ToString());
}
与HTMLView一起使用见:HTMLView文档
调用Client.JSAppend方法即可,代码如下:
C#:
string jsid = "jsfunctionview";
string jsCode = @"alert('Hello');";
Client.JSAppend(jsid, jsCode, (obj, args) => {
if (args.isError == false)
Toast("success");
else
Toast(args.error);
}, JScriptType.Script, JScriptAppendType.Body);
调用Client.Print方法即可,代码如下
C#:
///获取\Resources\Document下文件_1.pdf的url
string url = Swebui.SwebResourceManager.GetResourceURL(Client.SessionID, "文件_1.pdf", SwebResourceManager.DefaultDocumentPath);
///打印pdf
Client.Print(url, PrintType.Pdf);
///打印html
Client.Print("<h1>H1</h1><p>这是一个句子</p>", PrintType.Html);
///打印当前窗体
Client.Print();
调用Client.RedirectUrl方法即可,代码如下
C#:
///新标签页打开网页
this.Client.RedirectUrl("http://www.baidu.com",true);
///当前标签页打开网页
this.Client.RedirectUrl("http://www.baidu.com");
调用Client.SetClipBoard()方法即可,代码如下
C#:
this.Client.SetClipBoard("时间是:" + DateTime.Now.ToString(), (obj, args) => {
if (args.isError == false)
Toast("设置成功");
else Toast(args.error);
});
调用Client.GetClipBoard()方法即可,代码如下
C#:
this.Client.GetClipBoard((obj, args) =>
{
if (args.isError == false)
Toast(args.Data);
else Toast(args.error);
});
调用Client.Camera()方法即可;
代码如下:
C#:
this.Client.Camera(CameraMethod.ImageFromAlbum, cameraQialityMode: CameraQialityMode.Compress, handler: (obj, args) =>
{
if (args.isError == false)
{
args.SaveFile();
Toast("保存成功");
}
else
{
Toast(args.error);
}
});
代码如下:
C#:
this.Client.Camera(CameraMethod.ImageFromAlbum, cameraQialityMode: CameraQialityMode.Original, handler: (obj, args) =>
{
if (args.isError == false)
{
args.SaveFile();
Toast("保存成功");
}
else
{
Toast(args.error);
}
});
调用Client.playAudio()方法即可,代码如下
C#:
//获取项目下Audio文件夹下01.mp3的url
string url = SwebResourceManager.GetResourceURL(this.Client.SessionID, "01.mp3", SwebResourceManager.DefaultAudioPath);
this.Client.PlayAudio(url ,(obj, args) =>
{
if (args.isError == false)
{
Toast("播放");
}
else
{
Toast(args.error);
}
});
调用Client.stopAudio()方法即可,代码如下
C#:
this.Client.StopAudio((obj, args) =>
{
if (args.isError == false)
{
Toast("暂停");
}
else
{
Toast(args.error);
}
});