Зависит от того, как вы определяете «разрешено». Он работает, поэтому для этого разрешен компилятор и .NET framework, но это хорошая практика? Ну вам нужно передать его как-то, но давайте начнем с самого начала
- Не называйте ваши TextBoxes как «TextBox1» и т.д. дать им имя, которое Actaully означает что-то вроде «tbName» или «nameTextbox» или что-нибудь, который самообучение.
- Если форма ProductView была сделана эксклюзивно для показа этих деталей, я бы создал конструктор для этого класса, который принимает именно эти параметры (предпочтительно как класс). Так, например, я бы создал новый класс в отдельном проекте, как показано ниже.
.
public class ProductViewOptions
{
public string ProductName{ get; set; }
public decimal ProductPrice { get; set; }
...
}
И позже в ProductView форме создать частную собственность указанного типа и создать конструктор принимающий аргумент этого типа. Это может выглядеть следующим образом:
public class ProductView : Form
{
private ProductViewOptions productOptions;
public ProductView(ProductViewOptions ProductOptions)
{
this.productOptions = ProductOptions;
}
...
}
Благодаря этому ваш код будет гораздо более удобным для чтения и ваш пример будет выглядеть следующим образом:
ProductViewOptions productOptions = new ProductViewOptions();
productOptions.ProductName = this.dataGridView1.CurrentRow.Cells[1].Value.ToString();
productOptions.ProductPrice = this.dataGridView1.CurrentRow.Cells[2].Value.ToString();
ProductView productView = new ProductView(productOptions);
productView.ShowDialog();
Новый фрагмент кода самостоятельно explantatory и легко читать и поддерживать.
Что значит быть «как можно короче в коде позади»? Где еще вы поместите свой код? –
Я стараюсь поместить как можно больше в мой презентатор/контроллер/... Но в этой ситуации я не знаю, что делать с – suspected