【问题标题】:Simple dialog based application using C# [closed]使用 C# 的基于对话框的简单应用程序 [关闭]
【发布时间】:2013-04-09 02:55:58
【问题描述】:

我想开发一个简单的windows应用程序(使用C#)如下:

  • 一个简单的基于对话框的应用程序,具有三个屏幕
  • 第一个屏幕只是一个欢迎用户的屏幕,并说明如何进行操作
  • 第二个是一个拖放屏幕,用户可以在其中拖放文件(图像文件)
  • 然后它对提供的图像执行操作,并以列表视图的形式显示实时结果以及状态和完成百分比

我已经有了图像处理代码,这对我来说很容易,但我对应用程序本身很迷茫......

这是我的问题:

  • 我应该使用 winforms 还是 WPF 进行开发?我想添加自己的字体,让我使用的图像具有透明度,并显示自定义列表视图单元格和控件...
  • 在基于对话框的应用程序中拥有多个屏幕的最佳方式是什么?我正在考虑使用 TabControl,隐藏标题并在用户单击“下一步”按钮后以编程方式从第一个屏幕切换到第二个屏幕,然后在文件被拖放到窗口后切换到第三个屏幕......
  • 以及让后台进程对图像文件执行操作、在不阻塞 UI 的情况下为用户提供一些反馈(带百分比的进度条)的最佳方式是什么

【问题讨论】:

    标签: c# wpf winforms dialog


    【解决方案1】:

    我应该使用 winforms 还是 wfp 进行开发?我想添加自己的字体, 对我使用的图像具有透明度并显示自定义列表视图单元格 和控制

    我投票给 WPF。

    • 它支持更多的拖放操作
    • 它有更好的用户界面,例如圆角和可能的透明度(没有使用透明度)
    • 非常容易自定义列表视图和控件

    在基于对话框的对话框中拥有多个屏幕的最佳方式是什么 应用

    对于拥有多个屏幕,您可以使用 Frame,并使用其源更改为不同的视图。使用选项卡控件也可以,但它允许用户跳过第 2 页,而是直接转到第 3 页。

    以及拥有一个后台进程的最佳方式是什么? 对图像文件执行操作

    BackgroundWorker 将对此很有用。它应该是线程安全的。

    【讨论】:

    • 两者都支持透明度,但在 WPF 中更容易。
    • 是的,我没说winform不支持​​透明
    • WPF 更容易处理需要增加和减少大小的布局
    • 非常感谢您的回答!!这正是我想要的;)
    【解决方案2】:

    WPF 在外观上更好,但我认为 WinForm 在你的情况下已经足够好了。

    您可能需要将字体复制到 Windows 字体文件夹才能使用它。 但是需要UAC的授权。

    我也喜欢TabControl。 但是,如果您要限制用户必须遵循您的进度(不能跳过某些选项卡),您可以使用多面板来代替它。

    如果您的后台工作非常简单,您可以使用BackgroundWorker 组件。 否则你需要创建线程。

    【讨论】:

      【解决方案3】:

      这是我的问题: - 我应该使用 winforms 还是 wfp 进行开发?我想添加我自己的字体,在

      上有透明度

      这真的取决于。你知道 windows 窗体和/wpf 吗?如果你都使用 WPF 但如果您不知道,请选择 Windows 窗体,因为它很简单。

      我使用并显示自定义列表视图单元格和控件的图像... - 在基于对话框的应用程序中拥有多个屏幕的最佳方式是什么?我正在考虑使用 TabControl,隐藏标题并在用户单击“下一步”按钮后以编程方式从第一个屏幕切换到第二个屏幕,然后在文件被拖放到窗口后切换到第三个屏幕......

      一旦你得到一些工作,我们很容易给你我们的意见。

      以及让后台进程对图像文件执行操作、在不阻塞 UI 的情况下为用户提供一些反馈(带百分比的进度条)的最佳方式是什么

      这两个框架都允许您这样做。这里有很多选项,最简单但非常有用的是 BackgroundWorked。

      非常感谢您抽出宝贵时间并在这些主题上提供的帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-20
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多