GeoCoordinateWatcher.StatusChanged 事件

定义

指示 GeoCoordinateWatcher 对象的状态已更改。

public:
 event EventHandler<System::Device::Location::GeoPositionStatusChangedEventArgs ^> ^ StatusChanged;
public event EventHandler<System.Device.Location.GeoPositionStatusChangedEventArgs> StatusChanged;
member this.StatusChanged : EventHandler<System.Device.Location.GeoPositionStatusChangedEventArgs> 
Public Custom Event StatusChanged As EventHandler(Of GeoPositionStatusChangedEventArgs) 
Public Event StatusChanged As EventHandler(Of GeoPositionStatusChangedEventArgs) 

事件类型

实现

示例

以下示例演示如何处理 StatusChanged 事件。

using System;
using System.Device.Location;
namespace ShowStatusUpdates
{
    class Program
    {
        static void Main(string[] args)
        {
            ShowStatusUpdates();
        }

        static void ShowStatusUpdates()
        {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
            watcher.Start();

            watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);

            Console.WriteLine("Enter any key to quit.");
            Console.ReadLine();
        }

        static void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
        {
            switch (e.Status)
            {
                case GeoPositionStatus.Initializing:
                    Console.WriteLine("Working on location fix");
                    break;

                case GeoPositionStatus.Ready:
                    Console.WriteLine("Have location");
                    break;

                case GeoPositionStatus.NoData:
                    Console.WriteLine("No data");
                    break;

                case GeoPositionStatus.Disabled:
                    Console.WriteLine("Disabled");
                    break;
            }
        }
    }
}
Imports System.Device.Location

Module GetLocationEvent

    Sub ShowStatusUpdates()
        Dim Watcher As GeoCoordinateWatcher
        Watcher = New GeoCoordinateWatcher()
        watcher.Start()
        AddHandler Watcher.StatusChanged, AddressOf watcher_StatusChanged

        Console.WriteLine("Enter any key to quit.")
        Console.ReadLine()
    End Sub

    Sub watcher_StatusChanged(ByVal sender As Object, ByVal e As GeoPositionStatusChangedEventArgs)
        Select Case e.Status
            Case GeoPositionStatus.Initializing
                Console.WriteLine("Working on location fix")
            Case GeoPositionStatus.Ready
                Console.WriteLine("Have location")
            Case GeoPositionStatus.NoData
                Console.WriteLine("No data")
            Case GeoPositionStatus.Disabled
                Console.WriteLine("Disabled")
        End Select
    End Sub

    Public Sub Main()
        ShowStatusUpdates()
    End Sub
End Module

注解

事件 StatusChanged 在创建对象的同一 GeoCoordinateWatcher 线程上引发。

适用于