欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用C#操作幻燈片

 更新時(shí)間:2022年05月06日 15:07:14   作者:LearningHard  
一般大家經(jīng)常會(huì)用PPT遙控翻頁(yè)筆來(lái)遙控幻燈片,本文確為大家介紹了使用C#制作一個(gè)遙控幻燈片,感興趣的朋友可以參考下

記得老師講課的時(shí)候,經(jīng)常會(huì)用PPT遙控翻頁(yè)筆來(lái)遙控幻燈片來(lái)給我們講課,當(dāng)時(shí)覺(jué)得非常有趣,由于這段時(shí)間接觸了VSTO相關(guān)的開(kāi)發(fā),了解到了Office的相關(guān)產(chǎn)品都公開(kāi)了一些API來(lái)讓我們對(duì)Office產(chǎn)品進(jìn)行二次開(kāi)發(fā),這時(shí)候我就想,能不能用PowerPoint公開(kāi)的對(duì)象來(lái)制作一個(gè)遙控幻燈片的程序呢?在本專題就向大家介紹下這個(gè)小工具的實(shí)現(xiàn)思路和效果。

實(shí)現(xiàn)思路

1、既然要實(shí)現(xiàn)的程序是遙控幻燈片,這樣我們就需要先獲得幻燈片應(yīng)用程序的,在PowerPoint對(duì)象模型中,Microsoft.Office.Interop.PowerPoint.Application代表Powerpoint應(yīng)用程序,這點(diǎn)和Word、Excel和Outlook都是一樣的。
2、獲得了幻燈片應(yīng)用程序?qū)ο笾螅笪覀兙托枰@得幻燈片對(duì)象,因?yàn)槲覀冞b控的是幻燈片,在PowerPoint對(duì)象模型中也提供了幻燈片對(duì)象,即Microsoft.Office.Interop.PowerPoint.Slide。由于幻燈片又是存在于演示文稿中的,所以我們要想獲得幻燈片對(duì)象,就需要先獲得演示文稿對(duì)象,Microsoft.Office.Interop.PowerPoint.Presentation 就是代表演示文稿對(duì)象。
3、獲得幻燈片對(duì)象之后,我們就可以利用幻燈片對(duì)象的Select方法來(lái)進(jìn)行幻燈片的切換,然而在閱讀模式的情況下,不能用Select方法來(lái)進(jìn)行翻頁(yè),此時(shí)需要另一種方式來(lái)實(shí)現(xiàn),即調(diào)用 Microsoft.Office.Interop.PowerPoint.SlideShowView對(duì)象的First,Next,Last,Previous方法來(lái)進(jìn)行幻燈片翻頁(yè)

下面一張是閱讀模式下程序中實(shí)現(xiàn)翻頁(yè)功能與在幻燈片中的對(duì)應(yīng)關(guān)系:

遙控幻燈片程序的實(shí)現(xiàn)

有了上面的解釋,我們?cè)倏聪旅娴膶?shí)現(xiàn)代碼時(shí),相信大家肯定不會(huì)覺(jué)得有任何難道了,下面就直接貼出部分的實(shí)現(xiàn)的代碼

/// <summary>
/// 檢查是否打開(kāi)幻燈片程序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
privatevoid btnCheck_Click(object sender, EventArgs e) 
{ 
// 必須先運(yùn)行幻燈片,下面才能獲得PowerPoint應(yīng)用程序,否則會(huì)出現(xiàn)異常
// 獲得正在運(yùn)行的PowerPoint應(yīng)用程序
try
  { 
    pptApplication = Marshal.GetActiveObject("PowerPoint.Application") as PPt.Application; 
// 成功獲取了PowerPoint程序時(shí),使UI按鈕可用
this.btnFirst.Enabled = true; 
this.btnNext.Enabled = true; 
this.btnPrev.Enabled = true; 
this.btnLast.Enabled = true; 
  } 
catch
  { 
    MessageBox.Show("請(qǐng)先啟動(dòng)遙控的幻燈片", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); 
  } 
if (pptApplication != null) 
  { 
//獲得演示文稿對(duì)象
    presentation = pptApplication.ActivePresentation; 
// 獲得幻燈片對(duì)象集合
    slides = presentation.Slides; 
// 獲得幻燈片的數(shù)量
    slidescount = slides.Count; 
// 獲得當(dāng)前選中的幻燈片
try
    { 
// 在普通視圖下這種方式可以獲得當(dāng)前選中的幻燈片對(duì)象
// 然而在閱讀模式下,這種方式會(huì)出現(xiàn)異常
      slide = slides[pptApplication.ActiveWindow.Selection.SlideRange.SlideNumber]; 
    } 
catch
    { 
// 在閱讀模式下出現(xiàn)異常時(shí),通過(guò)下面的方式來(lái)獲得當(dāng)前選中的幻燈片對(duì)象
      slide = pptApplication.SlideShowWindows[1].View.Slide; 
    } 
  } 
} 
// 第一頁(yè)事件
privatevoid btnFirst_Click(object sender, EventArgs e) 
{     
try
  { 
// 在普通視圖中調(diào)用Select方法來(lái)選中第一張幻燈片
    slides[1].Select();     
    slide = slides[1]; 
  } 
catch
  { 
// 在閱讀模式下使用下面的方式來(lái)切換到第一張幻燈片
    pptApplication.SlideShowWindows[1].View.First(); 
    slide = pptApplication.SlideShowWindows[1].View.Slide; 
  } 
} 

下面就看看該遙控程序的運(yùn)行效果是如何的:

小結(jié)

到這里本專題的介紹就結(jié)束了,其實(shí)本程序最好是放在手機(jī)客戶端,這樣我們就可以利用手機(jī)來(lái)對(duì)我們的幻燈片進(jìn)行翻頁(yè)了,這樣就和激光筆的效果就是一樣的了,這里就給大家先提供一個(gè)思路吧,我相信如果要在手機(jī)客戶端實(shí)現(xiàn)的話,肯定就需要藍(lán)牙編程的技術(shù)或者WiFi編程的技術(shù)來(lái)獲取筆記本電腦的幻燈片應(yīng)用程序,只要我們成功在手機(jī)客戶端獲取了PowerPoint應(yīng)用程序?qū)ο蟮脑?,后面的?shí)現(xiàn)過(guò)程就和本程序的實(shí)現(xiàn)方式就基本一樣的,然而我們同時(shí)打開(kāi)筆記本的藍(lán)牙和手機(jī)的藍(lán)牙(也可以利用WiFi),這樣我們就可以輕松實(shí)現(xiàn)用手機(jī)來(lái)遙控我們演講文稿了。

以上就是本文給大家分享的使用C#制作幻燈片的全過(guò)程,希望大家可以喜歡。

相關(guān)文章

  • Visual Studio 中自定義代碼片段的方法

    Visual Studio 中自定義代碼片段的方法

    這篇文章主要介紹了Visual Studio 中自定義代碼片段的方法,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 基于NET?Core?的Nuget包制作、發(fā)布和運(yùn)用流程解析(完整過(guò)程)

    基于NET?Core?的Nuget包制作、發(fā)布和運(yùn)用流程解析(完整過(guò)程)

    這篇文章主要介紹了基于NET?Core?的Nuget包制作、發(fā)布和運(yùn)用流程,本文通過(guò)圖文并茂的形式給大家介紹了Nuget包制作過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • C#定位txt指定行的方法小例子

    C#定位txt指定行的方法小例子

    近日,在開(kāi)發(fā)CAD插件時(shí)需要定位TXT文件指定行并將其選中,在網(wǎng)絡(luò)找了一下沒(méi)有找到現(xiàn)成的,自己根據(jù)外掛的思路編了一個(gè)定位程序,實(shí)現(xiàn)了定位功能..與大家分享
    2013-04-04
  • C# 打開(kāi)藍(lán)牙設(shè)置界面的兩種方法

    C# 打開(kāi)藍(lán)牙設(shè)置界面的兩種方法

    這篇文章主要介紹了C# 打開(kāi)藍(lán)牙設(shè)置界面的兩種方法,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C# 如何調(diào)用python腳本

    C# 如何調(diào)用python腳本

    這篇文章主要介紹了C# 如何調(diào)用python腳本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 關(guān)于C#中排序函數(shù)的總結(jié)

    關(guān)于C#中排序函數(shù)的總結(jié)

    下面小編就為大家?guī)?lái)一篇關(guān)于C#中排序函數(shù)的總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)星空

    Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)星空

    這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)星空,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#使用throw和throw?ex拋出異常的區(qū)別介紹

    C#使用throw和throw?ex拋出異常的區(qū)別介紹

    這篇文章介紹了C#使用throw和throw?ex拋出異常的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • C#微信分享代碼

    C#微信分享代碼

    這篇文章主要為大家詳細(xì)介紹了C#微信分享的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • C#中執(zhí)行SQL的幾種方法講解

    C#中執(zhí)行SQL的幾種方法講解

    這篇文章介紹了C#中執(zhí)行SQL的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04

最新評(píng)論