中心消息框.NET - 适用于OpenEdge 11.6的Progress Developer Studio(32位)

时间:2017-01-13 08:34:17

标签: .net eclipse progress-4gl openedge

我一直在Progress OpenEdge文档(https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref/message-statement.html)中寻找消息对齐,但无法找到它。

如何以本机方式设置以父表单为中心的消息框?


谢谢

2 个答案:

答案 0 :(得分:0)

简短的回答是你不能!

答案很长,您可以调用win32 API并以特定方式设置消息框。

然而,快速浏览Win32 API(以及.NET)显示无法修改默认位置:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx https://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox.show(v=vs.110).aspx

解决方法可能是使用定义为对话框的框架。

这是一个非常快速和脏的代码,可以帮助您入门:

DEFINE BUTTON   b1   LABEL "OK".
DEFINE VARIABLE cMsg AS CHARACTER   NO-UNDO FORMAT "x(30)" .

DEFINE FRAME fr1 
    cMsg NO-LABEL 
    b1
    cMsg AT COLUMN 1 ROW 1
    b1   AT COLUMN 5 ROW 3 
    WITH VIEW-AS DIALOG-BOX  SIZE 40 BY 5 
    .

ENABLE b1 WITH FRAME fr1.

ON "choose":U OF b1 
DO:
    MESSAGE "You pressed OK!" VIEW-AS ALERT-BOX.
    APPLY "close" TO FRAME fr1.
END.

/* Set the location */
FRAME fr1:ROW = 10.
FRAME fr1:COL = 30.

cMsg = "This is the message".

DISPLAY cMsg WITH FRAME fr1.

WAIT-FOR "close" OF FRAME fr1.

答案 1 :(得分:0)

您可以使用System.Windows.Forms.MessageBox

这使您可以在所需位置显示消息。