使用“超链接”在Winforms应用程序中的效果
人们对在 Winforms 应用程序中使用假装超链接有何看法?
示例:
在我的示例中,您将单击“进入”Acme Corp Inc 的组织记录卡或“进入”下一次约会的详细信息。
如果我们暂时忽略用户如何编辑组织或添加/删除约会,那么在 Winforms 中使用蓝色和蓝色是一个明智的 UI 吗?下划线表示单击此处,我将带您进入新屏幕
如:
TextBox1.Font = New Font("Blah", 8.25!, FontStyle.Underline etc
TextBox1.ForeColor = Color.Blue
不要忘记:
TextBox1.Cursor = Cursors.Hand
这适用于相当丰富的应用程序(例如 CRM),其中您有许多不同类型的屏幕,并且用户在各种记录之间导航。您希望向用户展示他可以在详细视图、网格、子项、父级、兄弟姐妹等之间导航。
优点:
用户很熟悉,而且 明显,但不引人注目或 占用任何屏幕空间
易于实施
常用的替代方案(按钮 带有一个图标,甚至只有三个点 [...])看起来有点老式, 在网格中效果不佳,并且 占用空间
缺点:
具有所有的灵活性和控制力 你有一个 Winforms 前端,你 应该能够设计一个智能的用户界面 无需借用 浏览器(也许???)
这些伪链接不会表现得像 真正的锚标签(不会有任何 “访问过”[即。如果我有的话就把我变成紫色 已经在这里]或“悬停” 行为并且没有在新选项卡中打开 功能,无需大量工作)...可能会让用户烦恼?
有损于真正的超链接(如 在电子邮件地址等) - 这些没有 作为链接“out to 互联网”(到浏览器,到 电子邮件客户端)...非常小的问题?
What do people think about using pretend hyperlinks, in Winforms apps?
Example:
In my example you would click "into" the Organisation record card for Acme Corp Inc or "into" the details of the next appointment.
If we ignore, for the moment, how the user edits the Organisation or adds/removes an appointment, is it a sensible UI in Winforms to use blue & underline to signify click here and i'll take you to a new screen
As in:
TextBox1.Font = New Font("Blah", 8.25!, FontStyle.Underline etc
TextBox1.ForeColor = Color.Blue
Not forgetting:
TextBox1.Cursor = Cursors.Hand
This would be for a reasonably rich application (for example a CRM) where you have a lot of different kinds of screens and the user is navigating between all sorts of records. And you want to show the user that he can navigate between detail views, grids, children, parents, siblings etc.
Pros:
it's familiar to users and it's
obvious, without being obtrusive or
taking up any screen real estateeasy to implement
the often-used alternative (a button
with an icon or even just three dots
[...]) looks a bit old-fashioned,
doesn't work very well in grids, and
takes up space
Cons:
with all the flexibility and control
you have in a Winforms front end, you
should be able to devise a smart ui
without needing to borrow from
browsers (maybe???)these pseudo links won't behave as
true anchor tags (there won't be any
"visited" [ie. turn me purple if I've
already been in here] or "hover"
behaviour and no open-in-new-tab
features, without a lot of work) ... potentially annoying to users?detracts from genuine hyperlinks (as
in email addresses etc) - these no
longer stand out as links "out to
the internet" (to the browser, to
email client) ... very minor issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
甚至浏览器也不是这样工作的。使用 LinkLabel,而不是文本框。
Not even browsers work this way. Use a LinkLabel, not a TextBox.
一般来说,最好在胖客户端应用程序中使用超链接(真实的或模拟的)来打开附加信息的形式。区分仅导航的控件(超链接)和更改基础数据的命令(命令按钮)很有帮助,这样用户就知道他们正在进入什么内容。我认为大多数用户并不关心(甚至不知道)是否涉及浏览器。导航就是导航。
让属性值看起来像超链接一样,就像您所做的那样,这很好,除了对大多数应用程序来说是一个阻碍的一件事:它排除了与该属性的任何其他交互。用户无法编辑甚至复制属性值,因为对该字段的任何单击都会启动新表单。请记住,要编辑值(例如更正月份中的某一天),用户可能倾向于单击字段中间来定位光标。即使您使用下拉菜单(例如,设置组织),您也希望允许用户单击字段并通过键入所需值的前几个字母进行选择。如果您的应用程序有一个需要可编辑的可向下钻取字段,那么为了内部一致性,您的所有字段都不能使用超链接 - 所有向下钻取都需要通过某种其他方法进行。
此外,虽然超链接对于导航(例如向下钻取)来说很直观,但我不太确定它们是否适合分配字段值。获取有关 Acme Corp 组织的更多信息(这就是您的 Acme Corp 链接所暗示的内容)和获取为 John Smith 选择组织的对话框(分配函数)之间存在差异。因此,如果您的意图是分配而不是真正的向下钻取,那么链接可能不是一个好主意。对于分配,带有三个点的按钮很有意义。赋值会改变底层数据,因此应该使用命令按钮。它是下拉控件中按钮的自然扩展。三点按钮标题最大限度地减少了使用的空间,并且与对话框相关联,因为这就是它们在菜单和按钮标题中所暗示的含义。它可能看起来很老式,但这就是它有效的原因——它与过去的用户体验一致。
In general, it’s a good idea to use hyperlinks (real or simulated) in thick-client apps for opening forms of additional information. It is helpful to distinguish between a control that merely navigates (a hyperlink) and a command that changes the underlying data (a command button), so the users know what they’re getting into. I don't think most users care (or even know) if a browser is involved or not. Navigating is navigating.
Making an attribute value look and act like a hyperlink like you’ve done is fine except for one thing that is a showstopper for most applications: it precludes any other interaction with the attribute. The user can’t edit or even copy the attribute value since any clicking in the field will launch the new form. Keep in mind that to edit a value, such as to correct a day of the month, the user may be inclined to click in the middle of the field to position the cursor. Even if you’re using a drop-down menu (e.g., to set the organization), you want to allow users to click in the field and select by typing the first few letters of the value they want. If your app has one drill-down-able field that needs to be editable, then for internal consistency none of your fields can use hyperlinks –all drilldown needs to be by some other method.
Also, while hyperlinks are intuitive for navigating, such as drill-down, I’m not so sure they’re good for assigning a field value. There is a difference between getting more information about Acme Corp organization (which is what your Acme Corp link implies) and getting a dialog to pick the organization for John Smith (an assignment function). So if your intent is assignment rather than true drill-down, then links are probably not a good idea. For assignment, the button with the three dots makes a lot of sense. Assignment changes the underlying data, so it should use a command button. It’s a natural extension of the button in a dropdown control. The three-dot button caption minimizes the space used and is associated with dialogs since that’s what they imply in menu and button captions. It might look old-fashioned, but that’s why it works –it’s consistent with past user experiences.
对我来说看起来不错。无论如何,链接的概念已经从网络应用程序迁移到桌面应用程序。用户应该毫无问题地接受这一点(也许在玩你的程序的前十分钟之后)。
在企业应用中也相当流行。
也许可以考虑将颜色更改为棕色或绿色,这样它就不会立即暗示本机网络链接。
此外,许多使用事件驱动框架(如 ASP.NET WebForms、JSF 等)构建的 Web 应用程序大量使用不链接到任何地方但调用某些服务器端处理(基本上是事件处理程序)的链接。所以这并不是什么不寻常的用途。
Looks okay to me. The concept of links has anyway already migrated from web to desktop applications. Users should accept this without problems (maybe after first ten minutes playing out with your program).
Also quite popular in enterprise applications.
Maybe consider changing the color, to, maybe brown or green, so that it doesn't immediately imply a native web link.
Also many web applications built with some event-driven frameworks (like ASP.NET WebForms, JSF etc.) heavily use links that do not link anywhere but invoke some server-side processing (basically an event handler). So it's not unusual use.
我不喜欢它。如果我看到一个链接,我希望它在单击时打开一个浏览器窗口。更标准的是在标签旁边有一个小“编辑”按钮/图标。您可以在文本后面添加一个链接样式的“(编辑)”,这看起来也很正常,而不是暗示涉及浏览器。
例如:
组织: | Acme 垃圾箱(编辑)|
或
组织: | Acme 垃圾桶| (编辑)
I don't like it. If I see a link I expect it to open a browser window when clicked. More standard would be to have a little "edit" button/icon next the label. You could get away with having a link-style "(edit)" after the text, that would also look quite normal rather than suggesting a browser is involved.
e.g:
Organisation: | Acme Dustbins (edit) |
or
Organisation: | Acme Dustbins| (edit)