質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

234閲覧

音楽ファイルを開いた時、すべてクリアができない

退会済みユーザー

退会済みユーザー

総合スコア0

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2018/04/14 14:14

音楽ファイルを開き同じファイルが開けないようにしてそれをクリアができません。

Form1

Private Sub FolderE_Click(sender As Object, e As EventArgs) Handles folderE.Click 'クリアする 'Track1 List0000.ListBox1.Items.Clear() 'track2 List0000.ListBox2.Items.Clear() MessageBox.Show("クリアしました") End Sub

Form名:List0000

Imports System.IO Imports System Public Class List0000 Private history1 As New HashSet(Of String)(StringComparer.OrdinalIgnoreCase) Private history2 As New HashSet(Of String)(StringComparer.OrdinalIgnoreCase) Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk Dim files = OpenFileDialog1.FileNames Dim conflict = files.Where(AddressOf history1.Contains) If conflict.Any() Then e.Cancel = True Dim fileNames = conflict.Select(AddressOf System.IO.Path.GetFileName) MessageBox.Show("同じファイルがあります。" & vbCrLf & String.Join(vbCrLf, fileNames), "競合", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Else Array.ForEach(files, AddressOf history1.Add) End If End Sub Private Sub OpenFileDialog2_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog2.FileOk Dim files = OpenFileDialog2.FileNames Dim conflict = files.Where(AddressOf history2.Contains) If conflict.Any() Then e.Cancel = True Dim fileNames = conflict.Select(AddressOf System.IO.Path.GetFileName) MessageBox.Show("同じファイルがあります。" & vbCrLf & String.Join(vbCrLf, fileNames), "競合", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Else Array.ForEach(files, AddressOf history2.Add) End If End Sub

##原因
Form1からダイアログを開き、すべてクリアーしたいんですが
解決できませんでした。

クリアーするコードは

history1.Clear history2.Clear

##解決したい事
Form1でhistory1.Clearとhistory2.Clearをクリアーしたいんですが
List0000.vbの方にあるのでこれをForm1からクリアーするにはどうやったら
出来ますでしょうか?
すいませんが以前に投稿した者ですが、まことに申し訳ございませんが
お願い申し上げます。

環境、Vistual Studio 2017 VBです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

List0000のほうにクリアするメソッドを実装し、Form1からコールすればよいのではないかと思います。

投稿2018/04/14 15:01

YAmaGNZ

総合スコア10258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/04/15 10:10

YAmaGNZさん、ありがとうございます。 List0000フォームに Public Sub *** history1.Clear history2.Clear End Sub を追加して form1にList0000.****を書き出したところ無事クリア出来ました 回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問