Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Дианка от 20-11-2014, 11:07:50

Название: Как при одной команде вызывать folderbrowser,а при другой -нет?
Отправлено: Дианка от 20-11-2014, 11:07:50
Есть формочка, после инициализации,но до загрузки предлагается выбрать папку.и заполняется текстбокс этимполученным результатом,как отключить folderbrowser для другой команды? Я немножно новичок,поэтому не знаю как подобраться :( как к контролам формы -нашла...а вот диалог.

Код - C# [Выбрать]
  1. public MyForm()
  2.         {
  3.             InitializeComponent();
  4.             DialogResult res = fbDialog.ShowDialog();
  5.             if (res == DialogResult.OK)
  6.             {
  7.                 textBox1.Text = fbDialog.SelectedPath.ToString();
  8.             }
  9.         }
  10.  
  11.  
  12.  public class Commands
  13.     {
  14.         [CommandMethod("UA")]
  15.         public void T1()
  16.         {
  17.                 MyForm f1 = new MyForm();
  18.                 f1.Show();
  19.                 f1.Controls["button3"].Enabled = false;
  20.             }
  21.         }
  22.  
  23.         [CommandMethod("UB")]
  24.         public void T2()
  25.         {
  26.             MyForm f2 = new MyForm();
  27.             f2.Show();
  28.             f2.Controls["button1"].Enabled = false;
  29.            
  30.         }
  31.     }


п.с. или правильнее делать вызов диалога по кнопке? и уже "регулировать"-её?
Название: Re: Как при одной команде вызывать folderbrowser,а при другой -нет?
Отправлено: Александр Ривилис от 20-11-2014, 11:32:09
п.с. или правильнее делать вызов диалога по кнопке? и уже "регулировать"-её?
Угу.
Название: Re: Как при одной команде вызывать folderbrowser,а при другой -нет?
Отправлено: Дианка от 20-11-2014, 11:41:27
п.с. или правильнее делать вызов диалога по кнопке? и уже "регулировать"-её?
Угу.

а как хочется меньше движений :) ,
ок спасибо.

Название: Re: Как при одной команде вызывать folderbrowser,а при другой -нет?
Отправлено: Александр Ривилис от 20-11-2014, 11:47:48
Ну если совсем лень, можешь сделать так:
Код - C# [Выбрать]
  1. public MyForm(bool bSelectPath = true)
  2.         {
  3.             InitializeComponent();
  4.             if (bSelectPath)
  5.            {
  6.               DialogResult res = fbDialog.ShowDialog();
  7.               if (res == DialogResult.OK)
  8.               {
  9.                   textBox1.Text = fbDialog.SelectedPath.ToString();
  10.               }
  11.            }
  12.         }
  13.   public class Commands
  14.     {
  15.         [CommandMethod("UA")]
  16.         public void T1()
  17.         {
  18.              MyForm f1 = new MyForm(true);
  19.              f1.Show();
  20.              f1.Controls["button3"].Enabled = false;
  21.         }
  22.  
  23.         [CommandMethod("UB")]
  24.         public void T2()
  25.         {
  26.             MyForm f2 = new MyForm(false);
  27.             f2.Show();
  28.             f2.Controls["button1"].Enabled = false;
  29.         }
  30.     }
Название: Re: Как при одной команде вызывать folderbrowser,а при другой -нет?
Отправлено: Дианка от 20-11-2014, 12:17:53
так,насколько я поняла он будет вылезать при обоих командах,просто при одной -заполнять,при другой-нет?)
или еще можно было бы наверное сделать из обоих(UA,UB) return  какого-нибудь флажка -public bool ?
Название: Re: Как при одной команде вызывать folderbrowser,а при другой -нет?
Отправлено: Александр Ривилис от 20-11-2014, 12:33:31
так,насколько я поняла он будет вылезать при обоих командах,просто при одной -заполнять,при другой-нет?)
Неправильно поняла. В команде UA будет "вылезать", в команде UB не будет.