2013-08-05 2 views
0

Я написал этот код:Autocad правой кнопкой мыши обработчик события

int count = 1; 

while (true) 
{ 

    pointOptions.Message = "\nEnter the end point of the line: "; 
    pointOptions.UseBasePoint = true; 
    pointOptions.BasePoint = drawnLine.EndPoint; 
    pointResult = editor.GetPoint(pointOptions); 

    if (pointResult.Status == PromptStatus.Cancel) 
    { 
     break; 
    } 

    if (count == 1) 
    { 
     drawnLine.AddVertexAt(count, pointResult.Value.Convert2d(new Plane()), 0, 0, 0); 
     blockTableRecord.AppendEntity(drawnLine); 
     transaction.AddNewlyCreatedDBObject(drawnLine, true); 
    } 
    else 
    { 
     stretch(drawnLine, pointResult.Value, Point3d.Origin); 
    } 

    editor.Regen(); 

    count++; 
} 

код работает отлично но coplete рисунок я должен набрать ESC, я хочу, чтобы щелкнуть правой кнопкой мыши или пробел, нажмите, чтобы закрыть мой loop.Can Я делаю это?

ответ

1

Он был в PromptPointOptions См примере кода ниже:

// Set promptOptions 
var pointOptions = new PromptPointOptions("\nSelect Next Point: "); 
pointOptions.SetMessageAndKeywords("\nSelect Next Point: or Exit [Y]","Yes"); 
pointOptions.AppendKeywordsToMessage = true; 
pointOptions.AllowArbitraryInput = true; 
pointOptions.UseBasePoint = true; 
pointOptions.BasePoint = drawnLine.EndPoint; 

// While user wants to draw the polyline 
while (pointResult.Status != PromptStatus.Keyword) 
{ 
// Get point 
pointResult = Editor.GetPoint(pointOptions); 

// stop creating polyline 
if (pointResult.Status == PromptStatus.Cancel) 
    break; 

if (count == 1) { 

    // Get base point and add to the modelspace 
    drawnLine.AddVertexAt(count, pointResult.Value.Convert2d(new Plane()), 0, 0, 0); 
    blockTableRecord.AppendEntity(drawnLine); 
    transaction.AddNewlyCreatedDBObject(drawnLine, true); 
} else 

    // Grow the polyline 
    stretch(drawnLine, pointResult.Value, Point3d.Origin); 

// Regen 
editor.Regen(); 

count++; 
} 

то, что вы искали был PromptPointOptions.SetMessageAndKeywords и изменив свой цикл Eval вы выйдете, когда пользователь выбирает да и вы можете установить, что для пробел.

Надеюсь, что это поможет :)

+0

PromptPointOptions im using и pointOptions - это переменная. –

+0

Я подожду тогда :) –

+0

@ AntonioPapa Обновлено. –

Смежные вопросы