2014-04-23 46 views
0

我想有一個快速的問題: 誰能告訴我什麼是錯的這條線:如何正確聲明一個Font變量?

Font ^printFont = gcnew System::Drawing::Font("Arial", 10); 

我的編譯器說:「標識符‘printFont’不明」。 我也有命名空間和dll文件包括:

#using <System.Drawing.dll> 
    using namespace System; 
    using namespace System::Drawing; 
    using namespace System::Drawing::Text; 
    using namespace System::Drawing::Printing; 

PS。對不起,沒有專業編碼,但我沒有在C++/CLR中進行任何大學水平的編程。

編輯:

private: System::Void testCorrection_PrintPage_1(System::Object^ sender, System::Drawing::Printing::PrintPageEventArgs^ e) { 

float linesPerPage = 0; 
float yPos = 0; 
int count = 0; 
float leftMargin = (float)e->MarginBounds.Left; 
float topMargin = (float)e->MarginBounds.Top; 
String^ line = nullptr; 

Font ^printFont = gcnew System::Drawing::Font("Arial", 10); // error is :" IntelliSense:identifier 'PrintFont' is undefined " 
SolidBrush ^myBrush = gcnew SolidBrush(Color::Black); 

StreamReader^ streamToPrint; 

// Calculate the number of lines per page. 
linesPerPage = e->MarginBounds.Height/printFont->GetHeight(e->Graphics); 
line = streamToPrint->ReadLine(); 

// Iterate over the file, printing each line. 
while (count < linesPerPage && ((line = streamToPrint->ReadLine()) != nullptr)) { 
     yPos = topMargin + (count * printFont->GetHeight(e->Graphics)); 
     e->Graphics->DrawString(line, printFont, myBrush, leftMargin, yPos, gcnew StringFormat); 
     count++; 
     line = streamToPrint->ReadLine(); 
} 
} 
+0

你能發佈一個*最小的,「可編譯的」代碼*例子來重現錯誤嗎?虛空中的六條線是不夠的。 †我的意思是,沒有錯誤*其他*比這一個。 – Medinoc

+0

嗨@Medinoc,我編輯了我的編碼。我展示了關於字體的整個部分,我希望它是有道理的。 –

+0

沒關係我解決了它 –

回答

1

當你有指令

using namespace System::Drawing; 

,那麼你可以寫簡單的

Font ^printFont = gcnew Font("Arial", 10); 

我認爲問題是,你並沒有System.Drawing添加到參考該項目