.NET

.NET

Reply
Valued Contributor
95 Posts
3 Kudos
Registered: ‎04-04-2012
Post 1 of 3
Accepted Solution

Prompt message issue with a modeless dialog

386 Views, 2 Replies
09-27-2012 11:26 PM

Base: Object ARX 2010

Language: C# (.NET Frame 3.5)

 

Hi,

 

I made a modeless dialog  (WinForm) to use as a toolbar. The dialog has a button that "Prompt Entity" from the drawing.

 

ex)

PromptEntityOptions peo = new PromptEntityOption("Select Entity:");

PromptEntityResult per = ed.GetEntity(peo);

 

But this function is not wokring as I intended. When I click this button, the prompt message (message that sticks on the mouse cursor) does not show up immediately.

 

The message appears when I click the drawing window twice.

 

This behavior is not good since the user would not know if the button is clicked properly. (if the prompt message does not show up immediately.)

 

It seems like a focus (window) issue to me.

 

How could I solve this issue?

Any idea?

 

Regards,

 

Jake

 

I saw this in one other topic. Try to use Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView()

Valued Contributor
61 Posts
2 Kudos
Registered: ‎01-23-2011
Post 2 of 3

Re: Prompt message issue with a modeless dialog

09-28-2012 03:40 AM in reply to: dynamicscope

I saw this in one other topic. Try to use Autodesk.AutoCAD.Internal.Utils.SetFocusToDwgView()

Distinguished Contributor
112 Posts
10 Kudos
Registered: ‎04-22-2009
Post 3 of 3

Re: Prompt message issue with a modeless dialog

09-28-2012 04:48 AM in reply to: dynamicscope

There are other Methods than using the setfocus to dwg:

 

Look at the next snipped:

 

private void btnPickPoint_Click(object sender, EventArgs e)
        {
            using (EditorUserInteraction edUsrInt = ed.StartUserInteraction(this))
            {
                // Code to select a point
PromptPointOptions prPtOpts = new PromptPointOptions("\nSpecify insertion base point:"); PromptPointResult prPtRes = ed.GetPoint(prPtOpts); _point = prPtRes.Value; tbX.Text = _point.X.ToString(); tbY.Text = _point.Y.ToString(); tbZ.Text = _point.Z.ToString(); // End the UserInteraction. edUsrInt.End(); //this.Focus(); } }

 Hope this will help!

 

Irvin

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Announcements
Are you interested in helping shape the future of the Autodesk Community? To participate in this brief usability study, please click here. Your time and input is greatly appreciated!