2014-12-03 5 views
0

Мне нужно использовать savefiledialog, и я хочу ссылаться на него из кода, который не показывает, что он выполняет щелчок по сохранению (например, мы используем методы .performclick или просто ссылаемся на sub, но это doesn Кажется, что он работает с классом savefiledialog). Как я могу это сделать?Как я могу ссылаться на savefiledialog динамически

Любые указатели или пути

P.S. Я пытаюсь сохранить его как HTML файл

+0

SaveFileDialog используется для получения от пользователя необходимых входов. Если вы хотите сохранить файл без ввода пользователя, тогда нет необходимости использовать SaveFileDialog, но вы используете только классы System.IO. – Steve

+0

Похоже, у вас есть код, который запускается после того, как отображается диалог сохранения, но вы хотите запустить его, не показывая диалог. Если это так, просто переместите этот код на свой собственный метод и вызовите его напрямую. Вы можете сохранить выбранное имя файла в переменной уровня класса, чтобы он был доступен для всех ваших методов, которые в нем нуждаются. –

+0

@idle_Mind, я не могу понять ваше заявление четко, пожалуйста, уточните: «просто переместите этот код на свой собственный метод и назовите его напрямую» – Yawar

ответ

0

Я не могу понять ваше заявление ясно, просьба уточнить, «просто переместить этот код к его собственному методу и назвать его непосредственно»

I угадываю вас есть что-то вроде этого:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 
     Dim FileName As String = SaveFileDialog1.FileName 
     ' ... do something with "FileName" ... 
    End If 
End Sub 

вы хотели бы переместить „сделать что-то“ часть из его собственного метода, как это:

Private FileName As String = "" 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then 
     Me.FileName = SaveFileDialog1.FileName 
     SaveToFile() 
    End If 
End Sub 

Private Sub SaveToFile() 
    If Me.FileName <> "" Then 
     ' ... do something with "FileName" ... 
    End If 
End Sub 

Это тонкая разница, но теперь вы можете позвонить SaveToFile() снова из другого места, не выведя сначала диалог. * Предполагая, что вы либо поместили допустимое значение в FileName, либо пользователь выбрал один для вас.

+0

Но это все еще вызывает отображение savefiledialog – Yawar

+0

Ну, теперь я понимаю код, и это работал после некоторых незначительных изменений. – Yawar

+0

Да ... если пользователь нажимает кнопку. Если вы не хотите, чтобы savefiledialog отображался на ** EVER **, зачем использовать его вообще? Вот что сказал Стив. Для выполнения ввода/вывода файлов вам не требуется SaveFileDialog. Ваш самый первый оператор: «Я должен использовать savefiledialog, и я хочу ссылаться на него из кода, который не показывает его», кажется неправильным способом заниматься вещами. Объясните более подробно, что вы пытаетесь сделать, если это не поможет вашей ситуации. –

0

Я сделал это так, как вы упомянули т.е., экономя непосредственно без SaveFileDialog, и она работает

My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, Form1.rt1.Text, False) 
Смежные вопросы