Aracılığıyla paylaş


İzlenecek yol: radyo düğmelerini kullanarak belgedeki bir grafiği güncelleştiriliyor

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üğmesinin nasıl kullanıldığı anlatılır.

Uygulama alanı: Bu konudaki bilgiler Word 2013 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 örneklerde aşağıdaki görevler gösterilir:

  • Belge düzeyi projesinde tasarım zamanında Word belgesine grafik ekleme.

  • Radyo düğmesini, 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ızda, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazılarının adı veya konumu farklı gösterilebilir. 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 örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

-

Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2012 sürümü. Daha fazla bilgi için bkz: [Office Çözümeri Geliştirmek İçin Bilgisayarı Yapılandırma](bb398242\(v=vs.110\).md).
  • Word 2013 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 Create a new document'ı (Yeni belge oluştur) seçin.Daha fazla bilgi için bkz. Nasıl yapılır: Visual Studio Office projeler oluşturmak.

    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

  1. Visual Studio tasarımcısında bulunan Word belgesinde, Şerit'in üzerindeki Ekle sekmesini tıklatın.

  2. 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.

  3. 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.

  4. 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.

  5. Grafiği sağ tıklattıktan sonra Nesne Biçimlendir'i tıklatın.

  6. 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üğmesi 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

  1. Çözüm Gezgini'nde My Chart Options projesini seçin.

  2. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.

  3. Yeni Öğe Ekle iletişim kutusunda, Kullanıcı Denetimi'ne tıklatın ve denetimi ChartOptions olarak adlandırın, sonra da Ekle'yi tıklatın.

Kullanıcı denetimine Windows Form denetimi eklemek için

  1. Eğer kullanıcı denetimi tasarımcıda görünür değilse Çözüm Gezgini'ndeki ChartOptions'ı çift tıklatın.

  2. 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

    Ad

    columnChart

    Text

    Sütun Grafiği

  3. Kullanıcı denetimine ikinci Radyo Düğmesi denetimini ekleyin ve aşağıdaki özellikleri değiştirin.

    Özellik

    Value

    Ad

    barChart

    Text

    Çubuk Grafiği

  4. Kullanıcı denetimine üçüncü Radyo Düğmesi denetimini ekleyin ve aşağıdaki özellikleri değiştirin.

    Özellik

    Value

    Ad

    lineChart

    Text

    Satır Grafiği

  5. Kullanıcı denetimine dördüncü Radyo Düğmesi denetimini ekleyin ve aşağıdaki özellikleri değiştirin.

    Özellik

    Value

    Ad

    areaBlockChart

    Text

    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

  1. Proje menüsünde, Başvuru Ekle'yi tıklatın.

    Başvuru Ekle iletişim kutusu görüntülenir.

  2. .NET sekmesindeki Microsoft.Office.Interop.Graph'ı seçin ve Tamam'ı tıklatın.Derlemenin 14.0.0.0 sürümünü seçin.

Bir Radyo Düğmesi 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

  1. Çözüm Gezgini'nde, kullanıcı denetimini sağ tıklatın ve Kodu Göster'i tıklatın.

  2. 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

  1. 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);
            }
        }
    }
    
  2. 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);
            }
        }
    }
    
  3. 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);
            }
        }
    }
    
  4. 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);
            }
        }
    }
    
  5. 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: olay işleyicileri Office projelerinin.

    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

  1. Yapı menüsünde, Çözümü Derle'yi tıklatın.

    ChartOptions kullanıcı denetimi, Araç Kutusu'na eklenir.

  2. Çö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.

  3. 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

  1. 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);
        }
    }
    
  2. 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 test etmek için

  1. F5 tuşuna basarak projeyi çalıştırın.

  2. Çeşitli radyo düğmeleri seçin.

  3. Grafik stili değişikliğinin seçimle eşleştiğini doğrulayın.

Sonraki Adımlar

Sonradan gelebilecek bazı görevler:

Ayrıca bkz.

Kavramlar

Word Kullanarak İzlenecek Yollar

Office Belgerindeki Windows Forms Denetimleri Sınırlamaları

Diğer Kaynaklar

Office Geliştirme Örnekleri ve İzlenecek Yollar