private void buttonScan_Click(object sender, EventArgs e) { if ((_currentCard as TvCardAnalog) != null) { if ( MessageBox.Show(this, "Scanning is not possible for analog tv cards. (try it anyway ?:) )", "Not posible, Try anyway ?", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } } timer1.Enabled = false; buttonTimeShiftTS.Enabled = false; buttonRecordMpg.Enabled = false; buttonTimeShift.Enabled = false; buttonRecord.Enabled = false; buttonTune.Enabled = false; buttonScan.Enabled = false; btnEPG.Enabled = false; ITVScanning scanner = _currentCard.ScanningInterface; scanner.Reset(); List <IChannel> channels = scanner.Scan(_currentCard.SubChannels[0].CurrentChannel, new TvLibrary.ScanParameters()); scanner.Dispose(); listViewChannels.Items.Clear(); foreach (IChannel channel in channels) { ListViewItem item = new ListViewItem(channel.ToString()); item.Tag = channel; listViewChannels.Items.Add(item); } MessageBox.Show(String.Format("Found {0} channels", channels.Count)); buttonScan.Enabled = true; buttonTune.Enabled = true; btnEPG.Enabled = true; timer1.Enabled = true; }