91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Silverlight4和Flex4打印功能有什么區別和聯系

發布時間:2021-12-16 16:32:04 來源:億速云 閱讀:145 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“Silverlight4和Flex4打印功能有什么區別和聯系”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Silverlight4和Flex4打印功能有什么區別和聯系”這篇文章吧。

Silverlight4和Flex4打印功能大比拼

Silverlight作為一門新技術推出已經三年,在Silverlight早期版本,大家都認為Silverlight的功能無法和Flex進行對比,更是無法超越Flex,在2009年11月,微軟推出了Silverlight4測試版本,以其強大的功能又一次吸引了眾多開發人員的眼球,許多曾經在Flex下支持的功能,現在Silverlight下已經可以實現,而且還有一些新的功能,Flex無法實現。例如,Silverlight4的COM組件交互,從桌面拖拉對象到Silverlight應用等功能。為了使更多的開發人員了解Silverlight開發平臺,我將對Silverlight4和Flex4進行一系列的對比,希望能幫助開發人員了解更多Silverlight新功能。本文,將對Silverlight4和Flex4的打印功能進行對比。

Silverlight4打印功能

Silverlight4的打印功能石油PrintDocument類進行控制,實現打印功能需要按照以下步驟:

步驟1:建立PrintDocument對象;

步驟2:在PrintDocument對象中設置文檔名;

步驟3:添加事件句柄到PrintPage事件中,同時也可以添加到StartPrint和EndPrint事件中;

步驟4:在PrintPage打印事件中,建立一個打印窗口,該窗口將作為父窗口出現,可以添加想打印的內容或者控件到該打印窗口。例如建立一個StackPanel,然后在StackPanel中添加想打印的內容控件;

步驟5:在打印時,如果HasMorePages為True,說明支持多個頁面進行打印;

步驟6:重復4和5步驟,就可以實現完整的Silverlight4打印功能;

看起來這些步驟是不是很簡單。下面提供一個例程代碼,點擊打印按鈕后,會打印出“HelloWorld”。

usingSystem;   usingSystem.Windows;  usingSystem.Windows.Controls;   usingSystem.Windows.Printing;   namespaceHelloPrinter   {   publicpartialclassMainPage:UserControl   {   publicMainPage()  {   InitializeComponent();   }  privatevoidbutton1_Click(objectsender,RoutedEventArgse)  {   PrintDocumentprintDoc=newPrintDocument();   printDoc.DocumentName="HelloWorldfromSilverlight";   printDoc.PrintPage+=newEventHandler(printDoc_PrintPage);   printDoc.Print();  }   voidprintDoc_PrintPage(objectsender,PrintPageEventArgse)  {   StackPanelpanel=newStackPanel(){OrientationOrientation=Orientation.Horizontal};   panel.Children.Add(newTextBlock(){Text="Hello",   FontFamily=newSystem.Windows.Media.FontFamily("Arial"),FontSize=12});   panel.Children.Add(newTextBlock(){Text="World",   FontFamily=newSystem.Windows.Media.FontFamily("Arial"),FontSize=12});   e.PageVisual=panel;   e.HasMorePages=false;   }  }  }

當點擊按鈕后,會調用打印事件句柄,在打印過程中,Silverlight將自動設置打印窗口的寬和高,可以通過PrintableArea屬性獲取在打印事件中獲取打印頁面的寬和高。

Flex4打印功能

Flex4的打印功能和Silverlight4打印功能步驟很相似,但是實現不同,Flex4的打印功能不是事件驅動,基本步驟如下:

步驟1:建立FlexPrintJob對象,可以把該對象看作Silverlight的PrintDocument;

步驟2:使用一個布爾變量控制要打印的圖片格式,例如是打印矢量圖還是打印位圖;

步驟3:調用FlexPrintJob中的Start()方法,這時會彈出提示窗口,詢問是否開始打印,選擇確定,將開始打印;

步驟4:建立一個打印對象,并添加這個打印對象到現實列表中;

步驟5:使用FlexPrintJob中的addObject()添加對象到打印頁面中;

步驟6:調用FlexPrintJob中的send()方法,對添加的打印頁面進行打印;

步驟7:打印后,刪除已經打印的視圖對象;

下面提供按鈕事件代碼,點擊按鈕后,會打印出“HelloWorld”。

protectedfunctionbutton1_clickHandler(event:MouseEvent):void   {   varjob:FlexPrintJob=newFlexPrintJob();   job.printAsBitmap=false;   if(job.start()){   vargroup:HGroup=newHGroup();   group.height=job.pageHeight;   group.width=job.pageWidth;   vartext:SimpleText=newSimpleText();   text.text="Hello";   text.setStyle("fontFamily","Arial");   text.setStyle("fontSize",12);   group.addElement(text);   text=newSimpleText();   text.setStyle("fontFamily","Arial");   text.setStyle("fontSize",12);   text.text="World";   group.addElement(text);   addElement(group);   job.addObject(group,FlexPrintJobScaleType.NONE);   job.send();   removeElement(group);   }


對比上面的兩組打印代碼可以看出Flex實現打印需要多設置一些參數,主要是因為:

1.在Flex打印中,需要設置打印格式,是位圖模式,還是矢量圖模式;

2.Flex不支持自動設置打印對象在打印頁面中的寬和高;

以上是“Silverlight4和Flex4打印功能有什么區別和聯系”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿城市| 南通市| 轮台县| 内乡县| 黄平县| 汝州市| 怀仁县| 临夏市| 阳信县| 湘西| 山西省| 沽源县| 万源市| 马鞍山市| 增城市| 海林市| 聊城市| 桃园市| 宁阳县| 德昌县| 利川市| 嘉黎县| 唐山市| 高青县| 繁昌县| 九江市| 杭锦旗| 吴桥县| 元朗区| 海晏县| 内丘县| 茶陵县| 枞阳县| 奉节县| 南安市| 孟津县| 大同市| 镇江市| 九龙坡区| 临朐县| 阳原县|