开发这种应用.要用什么?

by_封爱 版主 2016-01-15 04:03:31
先说下背景..

是windows的机器连接一个"触屏"的设备.外形类似手机,不过比他大很多.你可以想象成车站买票那种设备(自动贩卖机).

现在要开发一程序 在"windows"上面运行. 对方给的需求中. 有很多(大部分)都跟安卓的特效有关.

比如"在咨询区左滑动.淡入显示'设置'面板"

附图几个如下.





包含了半透明.按钮(这些还好说)

最后一个实际上是列表.上拉删除.左右选择.并且可以修改.(跟IOS的任务管理器差不多)

而且那个时间.是跟安卓里面的计时器是一样的(旋转时,手指后边有一圈尾巴,里面时间跟着变化)

并且里面还有视频拍照扫描截图(AForge)以及串口操作.

所以这种情况下我要用什么"语言"开发呢?因为我能选择的语言有限.所以来问问.

winform的话,一些特效是很费劲实现的..

比如淡入淡出的控件 滑动的事件,并且"半透明"控件这玩意.闪的厉害(无解,能试的差不多都试过了.)

wpf不会.

win8app win10app我又没接触过 不知道是什么玩意,

安卓就更别说了.

jqm我想过的也就是cs+bs.这勉强算一种方案吧.

但是这还得用CefSharp的浏览器因为jqm在普通的浏览器控件上面是呵呵的.

所以...现在连最基本的方向都没有了...
...全文
348 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_27549073 2017-05-28
  • 打赏
  • 举报
回复
为什么有人推荐uwp,我一直以为win10才能用
ztmaster 2016-05-14
  • 打赏
  • 举报
回复
建议用WPF,通过内嵌CefSharp.wpf这个开源控件加载HTML页面即可,如果是写的H5,支持屏幕操作。
crystal_lz 2016-05-14
  • 打赏
  • 举报
回复
使用windows api 提供的 UpdateLayeredWindow 函数可以 做到和上面一模一样的效果 但是遗憾的是如果你像做的完美 那么所有的控件你都要自己去绘制了
还有一个简单一点的方式就是 反正到时候 你这个程序肯定是全屏运行的 当需要弹出一个窗口的时候 直接使用伪透明方式就是 一个窗口弹出来的时候 先获取当前屏幕图像 然后 窗口弹出来后把图片作为背景 就像这样


public partial class Form7 : Form
{
public Form7() {
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.Location = Point.Empty;
this.Size = Screen.PrimaryScreen.Bounds.Size;
}

private void Form7_Load(object sender, EventArgs e) {
this.SetBackground();
}

private void SetBackground() {
Bitmap bmp = new Bitmap(
Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height
);
using (Graphics g = Graphics.FromImage(bmp)) {
g.CopyFromScreen(0, 0, 0, 0, bmp.Size);
using (SolidBrush sb = new SolidBrush(Color.FromArgb(125, 0, 0, 0))) {
g.FillRectangle(sb, 0, 0, bmp.Width, bmp.Height);
}
this.BackgroundImage = bmp;
}
}
}

当然缺点就是伪透明 看到的背景只是一张图 而不是真正的背景
当然还有一种方式就是用一个半透明的窗体来作为遮罩 上面在用一个窗体来做你的控件

public Form7() {
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.Location = Point.Empty;
this.Size = Screen.PrimaryScreen.Bounds.Size;
this.BackColor = Color.Red;//把红色掏空
this.TransparencyKey = this.BackColor;
}

private void Form7_Load(object sender, EventArgs e) {
Form frm = new Form();//遮罩窗体
frm.FormBorderStyle = FormBorderStyle.None;
frm.Location = Point.Empty;
frm.Size = this.Size;
frm.Opacity = 0.5;//半透明
frm.BackColor = Color.Black;
frm.Show();
this.Owner = frm;//显示在遮罩之上
}

效果和上面的一样 不过这个是真的透明 但是遗憾的是 你控件的窗口上 不能有rgb为255,0,0的颜色出现 不然会被掏空
大鱼> 2016-04-22
  • 打赏
  • 举报
回复
各做一个版本多好。都学了
枫0子K 2016-04-22
  • 打赏
  • 举报
回复
引用 5 楼 starfd 的回复:
如果是windows的话,那最好的选择就是wpf,但你的描述中更多的操作是移动端的操作体验,WPF来实现也不是很好,而且你也说了不会,这时候我觉得UWP是个比较好的选择,同样不会,但UWP至少挺适合这种类型,就看你肯不肯做尝试了,叫我的话我就趁这么好的机会开始弄UWP或者React Native,当然前提要跟公司里面的人员说下存在技术风险,而且可能会因为对新技术的不熟悉而遇到各种坑(这两种技术也都算是这一两年才出来的新技术吧,没坑那是不可能的),导致自己也挺苦的,但值得
这个版主说得很完整很不错啊~ 我猜楼主的需求是模拟目前移动端(不限Android吧)操作方式与界面风格来做这一套系统,而且是要做到触摸屏设备里面的,操作上估计更加追求与移动端体验的一致性。 而对于楼主来说,WPF、UWP同样未接触过的情况下,学UWP不是更好吗?移动适用。
cocoxox 2016-04-22
  • 打赏
  • 举报
回复
ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ 吼吼吼 ~~ 继续来装个b
cocoxox 2016-04-22
  • 打赏
  • 举报
回复
卧槽卧槽,我来打酱油咯
  • 打赏
  • 举报
回复
我们以前做自动贩卖机的程序,估计就跟你这个需求类似。。。 后台.NET写的服务,UI是QT写的。。。 那个叫QML啥的东西特效还是很流弊的,至少用winform弄死也做不出来。。。 需求方只说是在windows环境下,可以考虑的就多了吧
  • 打赏
  • 举报
回复
前面说的wup也不错啊。。。 qt是c++的,至少wup的上手难度对C#写熟的人很快
john_QQ:2335298917 2016-04-22
  • 打赏
  • 举报
回复
如果是windows的话,用WPF UWP都可以,但是都得学新东西
猫霸 2016-01-16
  • 打赏
  • 举报
回复
用WInForm或者WPF就可以做桌面应用程序
x4177c 2016-01-16
  • 打赏
  • 举报
回复
等待楼主做成功后,反馈一下。
exception92 2016-01-16
  • 打赏
  • 举报
回复
那还不趁这个机会学习一下WPF。
  • 打赏
  • 举报
回复
如果人家把项目需求已经拿出来了、很明确、交互设计很细致,那么就不要当儿戏去选错了工具,否则就会一下子就被扔出局了。 winform根本没有任何“性感的”图形系统设计框架,且控件通常都不能轻松地对控件内部模板和配置进行自定义,早在6、7年前就应该淘汰给 wpf/silverlight 了。但是如果你们没有 xaml 和blend进行动画设计的经验(找两本比较经典的 wpf、silverlight 的2d/3d 游戏系统开发的书,就能理解这个了),那么肯定也还是在那里纠结传统的 winform 的那些编程套路,应该也做不出什么漂亮界面的程序。 使用 jqm 显然有性能问题、代码工程化问题(管理1万行代码几百个模块后,你们不会疯掉,面对上千个js bug仍然可以调试和测试清除几乎所有脚本代码中的问题)、和访问windows系统设备驱动问题。因此如果你们有 javascript 大系统的经验,可以考虑。如果只有一般的做企业web管理页面的经验,不要轻易用脚本来开发商用“大”点的系统(还是回到wpf)。
iAaronHua 2016-01-15
  • 打赏
  • 举报
回复
如果你只会用Winform的话,找套控件就OK了,如:C1、DEV。。。
  • 打赏
  • 举报
回复
如果是windows的话,那最好的选择就是wpf,但你的描述中更多的操作是移动端的操作体验,WPF来实现也不是很好,而且你也说了不会,这时候我觉得UWP是个比较好的选择,同样不会,但UWP至少挺适合这种类型,就看你肯不肯做尝试了,叫我的话我就趁这么好的机会开始弄UWP或者React Native,当然前提要跟公司里面的人员说下存在技术风险,而且可能会因为对新技术的不熟悉而遇到各种坑(这两种技术也都算是这一两年才出来的新技术吧,没坑那是不可能的),导致自己也挺苦的,但值得
by_封爱 版主 2016-01-15
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
另外不管它是什么触屏设备,它运行的OS也就那么几种,很多医院里面的那种机器里面其实就是windows系统,所以你先不管它的交互如何像android,先确认它到底是什么系统,然后才能进行对应的技术选型
就说是windows吧,.你看如何解决.
  • 打赏
  • 举报
回复
另外不管它是什么触屏设备,它运行的OS也就那么几种,很多医院里面的那种机器里面其实就是windows系统,所以你先不管它的交互如何像android,先确认它到底是什么系统,然后才能进行对应的技术选型
  • 打赏
  • 举报
回复
要不你用react native吧…… 前端可以的话上手挺快的
cs1438250 2016-01-15
  • 打赏
  • 举报
回复
智能家居么。。现在市场好吗?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧