İzlenecek Yol: Radyo Düğmelerini Kullanarak Çalışma Sayfasında Grafik Güncelleme
Bu izlenecek yolda, kullanıcıların belgede grafik stillerini seçmesi için seçenek sunmak amacıyla, Microsoft Office Word belge düzeyi özelleştirmesinde radyo düğmelerinin nasıl kullanıldığı anlatılır.
Uygulama alanı: Bu konudaki bilgiler Word 2007 ve Word 2010 uygulamalarının belge düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.
Bu anlatım aşağıdaki görevleri gösterir:
Belge düzeyi projesinde tasarım zamanında Word belgesine grafik ekleme.
Radyo düğmelerini, onları kullanıcı denetimine ekleyerek gruplama.
Bir seçenek seçildiğinde grafik stilini değiştirme.
Sonuçları tamamlanmış bir örnek olarak görmek için, Office Geliştirme Örnekleri ve İzlenecek Yollar'daki Word Denetim Örneklerine bakınız.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio Ayarlar.
Önkoşullar
Bu anlatımı tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
-
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2010 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.100\).md).
- Word 2007 veya Word 2010.
Projeyi Oluşturma
İlk adım Word Belge projesi oluşturmaktır.
Yeni bir proje oluşturmak için
My Chart Options adında bir Word Belge projesi oluşturun. Sihirbazda Yeni belge oluştur'u seçin. Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.
Visual Studio yeni Word belgesini tasarımcıda açar ve My Chart Options projesini Çözüm Gezgini'ne ekler.
Belgeye Grafik Ekleme
Grafik eklemek için
Visual Studio tasarımcısında bulunan Word belgesinde, Şerit'in üzerindeki Ekle sekmesini tıklatın.
Metin grubunda, Seçenekler Ekle açılan düğmesini tıklatın ve Nesne'yi tıklatın.
Nesne iletişim kutusu açılır.
Yeni Oluştur sekmesindeki Nesne türü listesinde, Microsoft Graph Grafiği'ni seçin ve Tamam'ı tıklatın.
Grafik, ekleme noktasından belgeye eklenir ve Veri Sayfası penceresi bazı varsayılan verilerle birlikte görünür.
Veri Sayfası penceresini, grafikteki varsayılan değerleri kabul etmek için kapatın ve odağı grafikten taşımak için belgenin içini tıklatın.
Grafiği sağ tıklattıktan sonra Nesne Biçimlendir'i tıklatın.
Nesneleri Biçimlendir iletişim kutusunun Düzen sekmesinde Kare'yi seçin ve Tamam'ı tıklayın.
Projeye Kullanıcı Denetimi Ekleme
Varsayılan olarak belgedeki radyo düğlemeleri birbirini dışlamaz. Onlara kullanıcı denetimi ekleyerek ve seçimi denetlemek için kod yazarak onları düzgünce çalıştırabilirsiniz.
Kullanıcı denetimi eklemek için
Çözüm Gezgini'nde My Chart Options projesini seçin.
Proje menüsünde, Yeni Öğe Ekle'yi tıklayın.
Yeni Öğe Ekle iletişim kutusunda, Kullanıcı Denetimi'ne tıklayın ve denetimi ChartOptions olarak adlandırın, sonra da Ekle'yi tıklayın.
Kullanıcı denetimine Windows Form denetimi eklemek için
Eğer kullanıcı denetimi tasarımcıda görünür değilse Çözüm Gezgini'ndeki ChartOptions'ı çift tıklatın.
Araç Kutusu'nun Ortak Denetimler sekmesinden, ilk Radyo Düğmesi denetimini kullanıcı denetimine sürükleyin ve aşağıdaki özellikleri değiştirin.
Özellik
Value
Name
columnChart
Metin
Sütun Grafiği
Kullanıcı denetimine ikinci Radyo Düğmesi denetimini ekleyin ve aşağıdaki özellikleri değiştirin.
Özellik
Value
Name
barChart
Metin
Çubuk Grafiği
Kullanıcı denetimine üçüncü Radyo Düğmesi denetimini ekleyin ve aşağıdaki özellikleri değiştirin.
Özellik
Value
Name
lineChart
Metin
Satır Grafiği
Kullanıcı denetimine dördüncü Radyo Düğmesi denetimini ekleyin ve aşağıdaki özellikleri değiştirin.
Özellik
Value
Name
areaBlockChart
Metin
Alan Engel Grafiği
Başvuruları Ekleme
Belgedeki kullanıcı denetiminden grafiğe erişmek için, projenizde Microsoft.Office.Interop.Graph derlemesine bir başvurunuzun olması lazım.
Microsoft.Office.Interop.Graph derlemesine bir başvuru eklemek için
Proje menüsünde, Başvuru Ekle'yi tıklatın.
Başvuru Ekle iletişim kutusu görüntülenir.
.NET sekmesindeki Microsoft.Office.Interop.Graph'ı seçin ve Tamam'ı tıklatın. Eğer projeniz Word 2007'yi hedefliyorsa, derlemenin 12.0.0.0 sürümünü seçin; eğer projeniz Word 2010 hedefliyorsa, 14.0.0.0 sürümünü seçin.
Bir Seçenek Seçildiğinde Grafik Stilini Değiştirme
Düğmelerin doğru çalışması için, kullanıcı denetiminde ortak olay oluşturun, seçenek türünü ayarlamak için özellik ekleyin ve her radyo düğmesinin CheckedChanged olayı için bir yordam oluşturun.
Kullanıcı denetiminde bir olay ve özellik oluşturmak için
Çözüm Gezgini'nde, kullanıcı denetimini sağ tıklatın ve Kodu Göster'i tıklatın.
SelectionChanged olayı ve Selection özelliğini oluşturmak için ChartOptions sınıfına kod ekleyin.
Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Private selectedType As Microsoft.Office.Interop.Graph.XlChartType = _ Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered Public Property Selection() As Microsoft.Office.Interop.Graph.XlChartType Get Return Me.selectedType End Get Set(ByVal value As Microsoft.Office.Interop.Graph.XlChartType) Me.selectedType = value End Set End Property
public event EventHandler SelectionChanged; private Microsoft.Office.Interop.Graph.XlChartType selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered; public Microsoft.Office.Interop.Graph.XlChartType Selection { get { return this.selectedType; } set { this.selectedType = value; } }
Radyo düğmelerinin CheckedChange olayını işlemek için
areaBlockChart radyo düğmesinin CheckedChanged olay işyecisindeki grafik türünü ayarlayın ve olayı oluşturun.
Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles areaBlockChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void areaBlockChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
barChart radyo düğmesinin CheckedChanged olay işyecisindeki grafik türünü ayarlayın.
Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles barChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void barChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
columnChart radyo düğmesinin CheckedChanged olay işyecisindeki grafik türünü ayarlayın.
Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles columnChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void columnChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
lineChart radyo düğmesinin CheckedChanged olay işyecisindeki grafik türünü ayarlayın.
Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles lineChart.CheckedChanged If (CType(sender, RadioButton).Checked) Then Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers RaiseEvent SelectionChanged(Me, EventArgs.Empty) End If End Sub
private void lineChart_CheckedChanged(object sender, EventArgs e) { if (((RadioButton)sender).Checked) { this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers; if (this.SelectionChanged != null) { this.SelectionChanged(this, EventArgs.Empty); } } }
C#'ta radyo düğmeleri için olay işleyicileri eklemelisiniz. Bu kodu InitializeComponent'ı çağırdıktan sonra ChartOptions yapıcısına ekleyebilirsiniz. Olay işleyicisi oluşturma hakkında daha fazla bilgi için, bkz. Nasıl Yapılır: Office Projelerinde Olay İşleyicileri Oluşturma.
public ChartOptions() { InitializeComponent(); areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged); barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged); columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged); lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged); }
Belgeye Kullanıcı Denetimi Ekleme
Çözümü yapılandırdığınızda, yeni kullanıcı denetimi otomatik olarak Araç Kutusu'na eklenir. Denetimi belgenize Araç Kutusu'ndan sürükleyin.
Belgeye kullanıcı denetimi eklemek için
Yapı menüsünde, Çözümü Derle'yi tıklatın.
ChartOptions kullanıcı denetimi, Araç Kutusu'na eklenir.
Çözüm Gezgini'nde ThisDocumen.cs veya ThisDocument.vb'ye sağ tıklatın ve sonra Tasarımcıyı Göster'i tıklatın.
Araç Kutusu'ndan belgeye ChartOptions denetimini sürükleyin.
Projenize ChartOptions1 isimli yeni bir denetim eklenir.
Grafik Türünü Değiştirme
Kullanıcı denetimi tarafından seçilen seçeneğe göre grafik türünü değiştirmek için olay işleyicisi oluşturun.
Belgede görüntülenen grafik türünü değiştirmek için
Aşağıdaki olay işleyicisini ThisDocument sınıfına ekleyin.
Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles ChartOptions1.SelectionChanged Try Dim shape As Word.Shape = Me.Shapes.Item(1) ' Activate the shape. shape.Activate() Dim dataChart As Graph.Chart = CType(shape.OLEFormat.Object, Graph.Chart) dataChart.ChartType = Me.ChartOptions1.Selection ' Deactivate the shape. Me.ChartOptions1.Select() Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
private void ChartOptions1_SelectionChanged(object sender, EventArgs e) { try { object index = 1; Word.Shape shape = this.Shapes.get_Item(ref index); // Activate the shape. shape.Activate(); Microsoft.Office.Interop.Graph.Chart dataChart = (Microsoft.Office.Interop.Graph.Chart)shape.OLEFormat.Object; dataChart.ChartType = this.ChartOptions1.Selection; // Deactivate the shape. this.ChartOptions1.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
C#'ta, kullanıcı denetimi için Startup olayına bir olay işleyicisi eklemelisiniz.
this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
Uygulamayı Test Etme
Radyo düğmesini seçtiğinizde grafik stilinin doğru bir şekilde güncellendiğinden emin olmak için belgenizi sınayabilirsiniz.
Belgenizi sınamak için
F5 tuşuna basarak projeyi çalıştırın.
Çeşitli radyo düğmeleri seçin.
Grafik stili değişikliğinin seçimle eşleştiğini doğrulayın.
Sonraki Adımlar
Sonradan gelebilecek bazı görevler:
Metin kutusunu doldurmak için düğme kullanma. Daha fazla bilgi için bkz. İzlenecek Yol: Belgedeki Metin Kutusunda Düğme Kullanarak Metin Görüntüleme.
Açılan kutudan bir stil seçerek biçimendirmeyi değiştirme. Daha fazla bilgi için bkz. İzlenecek Yol: CheckBox Denetimleri Kullanarak Belge Biçimlendirmesini Değiştirme.
Ayrıca bkz.
Kavramlar
Word Kullanarak İzlenecek Yollar
Word Belgelerinde Windows Forms Denetimleri Kullanma
Office Belgerindeki Windows Forms Denetimleri Sınırlamaları