【问题标题】:The Delphi statement in C #C#中的Delphi语句
【发布时间】:2020-05-26 10:31:59
【问题描述】:

在delphi中我们有

Self.Caption = 'ABCD';

和 C#

new Form().Text = "ABCD";

但在 Delphi 我们有说明

Application.Title = 'XYZ';

此文本显示在 ALT + TAB 窗口中。 在 C# 中如何实现?

说明: 我需要窗口顶部的不同文本和 Alt + Tab 窗口中的不同文本

【问题讨论】:

  • 您可以使用 Application.ProductName,但该值只能获取,不能在 Visual Studio 中的项目属性之外设置。
  • 你应该问的是如何使用 C# GUI 框架 Y 来做 X。不要把 Delphi 带进去。

标签: c# delphi


【解决方案1】:

在 Delphi 中,TApplication 有自己的窗口。 过去默认情况下,该窗口是所有 VCL 窗体/对话框窗口的 Win32 所有者。因为该窗口是程序的顶级窗口,并且拥有的窗口没有自己的任务栏按钮,所以TApplication.Title 出现在任务栏按钮和 Alt-Tab 对话框上。它可以设置为与TForm 字幕不同的字符串值。

但是,当在 Delphi 2007 中添加 TApplication.MainFormOnTaskbar 属性以支持 Vista 时,该逻辑发生了变化,使得 TApplication.MainForm 窗口现在默认成为程序的顶级所有者。

当顶级窗口有一个任务栏按钮时,它也会出现在 Alt-Tab 对话框中,并且窗口的标题文本会同时显示在两者中。因此,如果您希望任务栏和 Alt-Tab 对话框显示与您设置 Form.Text 不同的文本,则必须使 Form 由另一个窗口拥有,然后将该窗口的标题文本设置为需要。

【讨论】:

  • 问题询问如何在 C# 中实现这一点
  • 我知道这一点。我的最后一句话应该涵盖这一点。设置FormText 应该足以指定在表单的任务栏按钮和Alt-Tab 对话框条目上显示的文本。除非问题是如何显示不同的文本,在这种情况下答案是 - 你不这样做,除非你将 Form 的 Win32 所有者更改为另一个窗口,然后设置那个窗口的 Text 代替。德尔福以前是这样的
  • 这就是字面上的问题。阅读问题的最后一段。
  • 嗯,那我就回答了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多