Repository URL to install this package:
|
Version:
2016.3.0.4050 ▾
|
<html>
<head>
<title>Activate Sheets Example (C#)</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
<meta name=MS-HKWD content="C# examples">
<meta name=MS-HKWD content="C# examples,Sheets">
</head>
<body>
<h1>Activate Sheets Example (C#)</h1>
<p>This example shows how to activate each Sheet in a drawing.</p>
<pre style="font-family: Consolas; font-size: 13; color: black; background: white"><span style="color:green;">//--------------------------------------------------------------</span>
<span style="color:green;">//Preconditions:</span>
<span style="color:green;">// 1. Create a C# Windows console project.</span>
<span style="color:green;">// 2. Copy and paste this example into the C# IDE.</span>
<span style="color:green;">// 3. Add a reference to:</span>
<span style="color:green;">// <i>install_dir</i><b>\APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b>.</span>
<span style="color:green;">// 4. Add references to <b>System</b> and <b>System.Windows.Forms</b>.</span>
<span style="color:green;">// 5. Start DraftSight and open a document with multiple Sheets.</span>
<span style="color:green;">// 6. Start debugging the project.</span>
<span style="color:green;">//</span>
<span style="color:green;">//Postconditions: </span>
<span style="color:green;">// 1. Pops up a message box when a Sheet is activated. </span>
<span style="color:green;">// 2. Click <b>OK</b> to close each message box.</span>
<span style="color:green;">//----------------------------------------------------------------</span>
<span style="color:blue;">using</span> DraftSight.Interop.dsAutomation;
<span style="color:blue;">using</span> System;
<span style="color:blue;">using</span> System.Windows.Forms;
<span style="color:blue;">using</span> System.Runtime.InteropServices;
<span style="color:blue;">static</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">Module1</span>
{
<span style="color:blue;">public</span> <span style="color:blue;">static</span> <span style="color:blue;">void</span> Main()
{
DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span> dsApp;
<span style="color:#2b91af;">Document</span> dsDoc = <span style="color:blue;">default</span>(<span style="color:#2b91af;">Document</span>);
<span style="color:green;">//Connect to DraftSight</span>
dsApp = (DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span>)<span style="color:#2b91af;">Marshal</span>.GetActiveObject(<span style="color:#a31515;">"DraftSight.Application"</span>);
<span style="color:green;">//Abort any command currently running in
//DraftSight to avoid nested commands</span>
dsApp.<b>AbortRunningCommand</b>();
<span style="color:green;">//Get active document</span>
dsDoc = dsApp.<b>GetActiveDocument</b>();
<span style="color:blue;">if</span> (dsDoc != <span style="color:blue;">null</span>)
{
<span style="color:green;">//Activate each Sheet, one by one</span>
SwitchSheets(dsDoc);
}
<span style="color:blue;">else</span>
{
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"There are no open documents in DraftSight."</span>);
}
}
<span style="color:blue;">public</span> <span style="color:blue;">static</span> <span style="color:blue;">void</span> SwitchSheets(<span style="color:#2b91af;">Document</span> dsDoc)
{
<span style="color:#2b91af;">Sheet</span> dsSheet = <span style="color:blue;">default</span>(<span style="color:#2b91af;">Sheet</span>);
<span style="color:blue;">object</span>[] dsVarSheets = <span style="color:blue;">null</span>;
<span style="color:blue;">int</span> index = 0;
<span style="color:blue;">string</span> sheetName = <span style="color:blue;">null</span>;
<span style="color:green;">//Get all Sheets</span>
dsVarSheets = (<span style="color:blue;">object</span>[])dsDoc.<b>GetSheets2</b>();
<span style="color:blue;">if</span> (dsVarSheets != <span style="color:blue;">null</span>)
{
<span style="color:blue;">for</span> (index = dsVarSheets.GetLowerBound(0); index <= dsVarSheets.GetUpperBound(0); index++)
{
dsSheet = (<span style="color:#2b91af;">Sheet</span>)dsVarSheets[index];
<span style="color:green;">//Get Sheet name</span>
sheetName = dsSheet.<b>Name</b>;
<span style="color:green;">//Activate Sheet</span>
dsSheet.<b>Activate</b>();
<span style="color:green;">//Verify if the Sheet was activated</span>
<span style="color:blue;">if</span> (dsSheet.<b>IsActive</b>())
{
<span style="color:#2b91af;">MessageBox</span>.Show(sheetName + <span style="color:#a31515;">" was activated."</span>);
}
}
}
}
}</pre>
</body>
</html>