最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

一、目标样式

我们要实现上图中的效果,需要如下的操作:

1.从工具栏上的“Smobiler Components”拖动一个ResourceUploader控件和一个ImageButton控件到窗体界面上

2.ImageButton的Click事件

  1. VB
  2. Private Sub imageButton1_Click(sender As Object, e As EventArgs)Handles imageButton1.Click
  3. resourceUploader1.Show()
  4. End Sub
  1. C#:
  2. private void imageButton1_Click(object sender, EventArgs e)
  3. {
  4. resourceUploader1.Show();
  5. }

3.修改ResourceUploader控件的属性

a.MaxSelectCount属性

设置资源单次上传的最大数量,默认设置为“9”,一次最多上传9张图片,如图1;

b.QualityMode属性

获取或设置相机组件上传质量的模式,默认设置为“Custom”,即表示压缩上传和原图上传都支持,如图2;

若将该属性设置为“Compressed”,则表示只能压缩上传;

若将该属性设置为“Original”,则表示只能原图上传;

图1 图2

c.Uploading事件

  1. VB
  2. Dim imglist As List(Of String) = New List(Of String)
  3. Private Sub resourceUploader1_Uploading(sender As Object, e As BarcodeData)Handles resourceUploader1.Uploading
  4. Try
  5. If e.IsError = False Then
  6. e.SaveFile()
  7. imglist.Add(e.ResourceID)
  8. getImg()
  9. End If
  10. Catch ex As Exception
  11. MessageBox.Show(ex.Message)
  12. End Try
  13. End Sub
  1. C#:
  2. private List<string> imglist = new List<string>();
  3. private void resourceUploader1_Uploading(object sender, BinaryData e)
  4. {
  5. try
  6. {
  7. if (e.IsError == false)
  8. {
  9. e.SaveFile();
  10. imglist.Add(e.ResourceID);
  11. getImg();
  12. }
  13. }
  14. catch (Exception ex)
  15. {
  16. MessageBox.Show(ex.Message);
  17. }
  18. }

注:调用ResourceUploader控件来获取图片

d.其他代码

  1. VB
  2. Private Sub resourceuploader1_ImageCaptured(sender As Object, e As BarcodeData)Handles resourceuploader1.ImageCaptured
  3. If imglist.Count > 0 & imglist.Count <= 9 Then
  4. For i = 0 To imglist.Count Step 1
  5. Select Case i
  6. Case 1
  7. img1.Visible = true
  8. btndelimg1.Visible = true
  9. img1.ResourceID = imglist(i - 1)
  10. img1.Refresh()
  11. Case 2
  12. img2.Visible = true
  13. btndelimg2.Visible = true
  14. img2.ResourceID = imglist(i - 1)
  15. img2.Refresh()
  16. Case 3
  17. img3.Visible = true
  18. btndelimg3.Visible = true
  19. img3.ResourceID = imglist(i - 1)
  20. img3.Refresh()
  21. Case 4
  22. img4.Visible = true
  23. btndelimg4.Visible = true
  24. img4.ResourceID = imglist(i - 1)
  25. img4.Refresh()
  26. Case 5
  27. img5.Visible = true
  28. btndelimg5.Visible = true
  29. img5.ResourceID = imglist(i - 1)
  30. img5.Refresh()
  31. Case 6
  32. img6.Visible = true
  33. btndelimg6.Visible = true
  34. img6.ResourceID = imglist(i - 1)
  35. img6.Refresh()
  36. Case 7
  37. img7.Visible = true
  38. btndelimg7.Visible = true
  39. img7.ResourceID = imglist(i - 1)
  40. img7.Refresh()
  41. Case 8
  42. img8.Visible = true
  43. btndelimg8.Visible = true
  44. img8.ResourceID = imglist(i - 1)
  45. img8.Refresh()
  46. Case 9
  47. img9.Visible = true
  48. btndelimg9.Visible = true
  49. img9.ResourceID = imglist(i - 1)
  50. img9.Refresh()
  51. End Select
  52. Next
  53. End If
  54. End Sub
  1. C#:
  2. private void getImg()
  3. {
  4. if (imglist.Count > 0 & imglist.Count <= 9)
  5. {
  6. for (int i = 1; i <= imglist.Count; i++)
  7. {
  8. switch (i)
  9. {
  10. case 1:
  11. img1.Visible = true;
  12. btndelimg1.Visible = true;
  13. img1.ResourceID = imglist[i - 1];
  14. img1.Refresh();
  15. break;
  16. case 2:
  17. img2.Visible = true;
  18. btndelimg2.Visible = true;
  19. img2.ResourceID = imglist[i - 1];
  20. img2.Refresh();
  21. break;
  22. case 3:
  23. img3.Visible = true;
  24. btndelimg3.Visible = true;
  25. img3.ResourceID = imglist[i - 1];
  26. img3.Refresh();
  27. break;
  28. case 4:
  29. img4.Visible = true;
  30. btndelimg4.Visible = true;
  31. img4.ResourceID = imglist[i - 1];
  32. img4.Refresh();
  33. break;
  34. case 5:
  35. img5.Visible = true;
  36. btndelimg5.Visible = true;
  37. img5.ResourceID = imglist[i - 1];
  38. img5.Refresh();
  39. break;
  40. case 6:
  41. img6.Visible = true;
  42. btndelimg6.Visible = true;
  43. img6.ResourceID = imglist[i - 1];
  44. img6.Refresh();
  45. break;
  46. case 7:
  47. img7.Visible = true;
  48. btndelimg7.Visible = true;
  49. img7.ResourceID = imglist[i - 1];
  50. img7.Refresh();
  51. break;
  52. case 8:
  53. img8.Visible = true;
  54. btndelimg8.Visible = true;
  55. img8.ResourceID = imglist[i - 1];
  56. img8.Refresh();
  57. break;
  58. case 9:
  59. img9.Visible = true;
  60. btndelimg9.Visible = true;
  61. img9.ResourceID = imglist[i - 1];
  62. img9.Refresh();
  63. break;
  64. }
  65. }
  66. }
  67. }

二、手机效果显示

.Net语言 APP开发平台——Smobiler学习日志:快速实现手机上的图片上传功能的更多相关文章

  1. .Net语言 APP开发平台——Smobiler学习日志:如何实现离线声音文件上传

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...

  2. .Net语言 APP开发平台——Smobiler学习日志:实现手机上常见的ListMenuView

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...

  3. .Net语言 APP开发平台——Smobiler学习日志:在手机应用中开发蛛网表格

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Sm ...

  4. .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速调用电话拨打功能

    样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobiler Components”拖动一个PhoneButton控件到窗体界面上 2.修改PhoneButton ...

  5. .Net语言 APP开发平台——Smobiler学习日志:手机应用的TextTabBar快速实现方式

    参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-put.html http://www.yuanjiaocheng.net/we ...

  6. .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

  7. .Net语言 APP开发平台——Smobiler学习日志:如何快速实现地图定位时的地点微调功能

    Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 二.地点微调代码 VB: Dim ...

  8. .Net语言 APP开发平台——Smobiler学习日志:如何实现快速跳转网页

    Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.跳转网页代码(Button的Click事件) Private Sub Button1_ ...

  9. .Net语言 APP开发平台——Smobiler学习日志:快速实现应用中的图片、声音等文件上传功能

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

  10. .Net语言 APP开发平台——Smobiler学习日志:如何快速实现类似于微信的悬浮显示二维码效果

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

随机推荐

  1. 神经网络、logistic回归等分类算法简单实现

    最近在github上看到一个很有趣的项目,通过文本训练可以让计算机写出特定风格的文章,有人就专门写了一个小项目生成汪峰风格的歌词.看完后有一些自己的小想法,也想做一个玩儿一玩儿.用到的原理是深度学习里 ...

  2. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  3. Discuz NT 架构剖析之Config机制

    接触了Discuz NT! 一段时间了,是时候做个总结了,标题好霸气,有木有? 都是托园子里的大牛代振军的福啊,哈哈哈哈. 首先论坛的信息不是完全存储在数据库里面的,一部分信息存储在config文件里 ...

  4. Autofac - MVC/WebApi中的应用

    Autofac前面写了那么多篇, 其实就是为了今天这一篇, Autofac在MVC和WebApi中的应用. 一.目录结构 先看一下我的目录结构吧, 搭了个非常简单的架构, IOC(web), IBLL ...

  5. bzoj1901--树状数组套主席树

    树状数组套主席树模板题... 题目大意: 给定一个含有n个数的序列a[1],a[2],a[3]--a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]--a[ ...

  6. Hadoop 2.x 生态系统及技术架构图

    一.负责收集数据的工具:Sqoop(关系型数据导入Hadoop)Flume(日志数据导入Hadoop,支持数据源广泛)Kafka(支持数据源有限,但吞吐大) 二.负责存储数据的工具:HBaseMong ...

  7. Mysql - 数据库操作

    之前介绍了数据库的增删改查, 发现忘记了数据库的一些基本操作, 比如建库, 建表, 改表等等. 那这里就来小结一下数据库sql形式的基本操作. 一.库操作 1. 建库 在建库之前, 可能需要看一下, ...

  8. Linux基础介绍【第五篇】

    linux权限位 Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主权限.属组权限.其他用户权限. r:read可读权限,对应数字4: w:write可写权限,对应数字 ...

  9. ubuntu系统(华硕笔记本)屏幕亮度用Fn控制的调节设置

    亲测配置: 系统:Linux lite 3.2 x86_64(Ubuntu其他版本可参考修改) 笔记本:华硕(asus)1201N 达到的效果: 可以正常使用Fn+F5调暗,Fn+F6调亮. 设置步骤 ...

  10. 简单的转盘抽奖——CSS动画优化

    前言 前两天去一家公司面试,被问到一些小游戏的东西.面试官提到了刷红包还有抽奖这些怎么实现,当时简单说了下思路,回来之后想想还是说的太轻描淡写了,干说不做就是耍流氓,所以就做了一个(Demo & ...