Архив блога

Автор:editor

Параметр не действует

Цитата: MichaelTS

У меня есть различные компоненты в форме выигрыша, созданные с помощью C #. 
Все работало хорошо до прошлой недели, когда внезапно я начал получать сообщение об ошибке «Произошло необработанное исключение типа« System.ArgumentException »в System.Drawing.dll». 
Дополнительная информация: параметр недействителен. 
Эта ошибка происходит в части конструктора формы в процедуре InitializeComponent. 
Элементы управления были перетащены из панели инструментов на форму. 
Также нет привязки данных к заполнению полей. 
Это также происходит только с любой формой ввода или взаимодействия. Эта ошибка не возникает при создании ярлыка или группового блока и т. Д. 

Google не нашел

Цитата:

Что-то где-то испортилось. Вот кое-что, что я пробовал в прошлом, что иногда решало проблемы, подобные этой: 

1. Добавить новый проект в решение.
2. В обозревателе решений щелкните и перетащите оскорбительную форму для нового проекта, чтобы скопировать его.
3. Внесите дополнительные изменения в новый проект, чтобы сделать его построения.
4. Удалить оригинальную форму и очистить решение в меню построение.
5. Скопируйте форму обратно в исходный проект из нового проекта.
6. Построить и запустить оригинальный проект.

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

Автор:editor

Windows Form DataGridViews

Цитата: absorc

Привет! Я получил два элемента datagridview с двумя столбцами и у меня (CSV файл) с товарами и ценами, которые я импортирую в управления gridview1.

string[] lines = File.ReadAllLines("Products.csv");
foreach (string line in lines)
{
    string[] words = line.Split(';');
    gridView1.Rows.Add(words);
}

Моя проблема состоит в том, чтобы выбрать одну строку с продуктом и ценой в gridView1 и нажать мою кнопку «Добавить», и эта выбранная строка добавляет в gridView2. 

Я совершенно новичок в формах Windows и надеюсь, что кто-нибудь может мне помочь или помочь, спасибо.

Автор:editor

Нужно для отображения шестнадцатеричных в TextBox

Цитата: nick007

Это им код, используя и выводит текст в текстовое поле

частная sport_DataReceived недействительным(объект отправителя, SerialDataReceivedEventArgs е)
{
ДТ датавремя = Датавремя.Сейчас;
Строки ЦТС = ДТ.ToShortTimeString();

txtReceive.AppendText (на»[» в+СПД+на»] » в+»и получил: » и+спорт.ReadExisting()+» и\Н» — а);
}

Мне это нужно для отображения шестнадцатеричных как ниже

Ф2,9Е,1,0,79,0,0,0,В0,0,0,40,1,7,7,1,А4,3,1 Д,0,0,0 ,0,3,ФФ 1,

Цитата: jmcilhinney

Что именно Вы читаете? ReadExisting возвращает строку, но если вы хотите, чтобы отобразить шестнадцатеричный вывод то вы хотели байт. Вы, вероятно, следует посмотреть на способ чтения, который позволяет заполнить массив байтов. Если у вас есть байтовый массив, вы можете создать файл с разделителями-запятыми, шестнадцатеричную строку, например, так:
строку.Присоединиться(» и» Ну, myByteArray.Выберите(б => б.Метод toString (на»Х» — а)))

Цитата: nick007

Им чтение последовательного порта

вот немного моего кода

namespace SerialPort
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            cmdClose.Enabled = false;
            foreach (String s in System.IO.Ports.SerialPort.GetPortNames())
            {
                txtPort.Items.Add(s);
            }
        }
        public System.IO.Ports.SerialPort sport;
        public void serialport_connect(String port, int baudrate , Parity parity, int databits, StopBits stopbits)
        {
            DateTime dt = DateTime.Now;
            String dtn = dt.ToShortTimeString();
            sport = new System.IO.Ports.SerialPort(
            port, baudrate, parity, databits, stopbits);
            try
            {
                sport.Open();
                cmdClose.Enabled = true;
                cmdConnect.Enabled = false;
                txtReceive.AppendText("[" + dtn + "] " + "Connected\n");
                sport.DataReceived += new SerialDataReceivedEventHandler(sport_DataReceived);
            }
            catch (Exception ex) { MessageBox.Show(ex.ToString(), "Error"); }
        }
        private void sport_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            DateTime dt = DateTime.Now;
            String dtn = dt.ToShortTimeString();
            txtReceive.AppendText("["+dtn+"] "+"Received: "+sport.ReadExisting()+"\n");
        }
Цитата: jmcilhinney

Я знаю, что вы читаете ИЗ SerialPort. В противном случае у вас не будет обработчика событий DataReceived для SerialPort. Я спрашивал, что вы на самом деле читаете, то есть что это за данные? Если это не текст, тогда читать его как текст неуместно для начала. Если это текст, то у вас есть два варианта. Вы можете либо прочитать необработанные двоичные данные, как если бы они не были нетекстовыми, либо вы можете прочитать текст, а затем преобразовать его в двоичные данные. Последнее немного проще, потому что вы можете придерживаться вызова ReadExisting, но довольно неэффективно сначала преобразовывать необработанные двоичные данные в текст, что делает ReadExisting, а затем преобразовывать их обратно в двоичные данные. Использование Read позволяет избежать двойного преобразования, но ваш код должен быть немного сложнее.

Цитата: nick007

Я использую кабель ALDL и считываю данные из порта ODB автомобиля.

Вы можете видеть на изображении данные, которые отображаются.

Я новичок в программировании, а не то, что я получаю от кабеля

Цитата: JuggaloBrotha
ранее писал : nick007
Я использую кабель ALDL и считываю данные из порта ODB автомобиля.

Вы можете видеть на изображении данные, которые отображаются.

Я новичок в программировании, а не то, что я получаю от кабеля

Если вы не знаете, какие данные вы собираетесь получить от автомобиля ОДБ порт вы не можете для него программу, так что документов на автомобиль, говорят, что это посылает?

Цитата: nick007

Девять миллионов восемьсот пятьдесят четыре тысячи триста двадцать один

Итак, теперь с немного исследований, по всей видимости, данные выйдя из кабель aldl соответствие в байтах

Цитата: jmcilhinney

Так вернитесь и прочитайте пост #2 снова.

Цитата: nick007

ОК

Code:
private void sport_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)


{



 DateTime dt = DateTime.Now;



 String dtn = dt.ToShortTimeString();




int dataLength = sport.BytesToRead;



 byte[] dataRecevied = new byte[dataLength];



 int nbytes = sport.Read(dataRecevied, 0, dataLength);



 if (nbytes == 0) return;




string data = BitConverter.ToString(dataRecevied);





 textBox1.AppendText("[" + dtn + "] " + "Received: " + data + "\n");




// Not Used !!!!!!!



// txtReceive.AppendText("[" + dtn + "] " + "Received: " + result + "\n");



 }

я получаю шестнадцатеричных данных я хочу, но у меня есть тире между цифрами, как это

2C-30-30-2C-32-44-2C-32-44-2C-32-44-2C-32-44-2C-32-44-2C-32-44-2C-32-44-2C-32-44-2C-32-44-2C-32-44-0D-0А

как можно снять приборную панель и заменить с такой запятой

Ф2,70,28,09,01,00,00,07,Д4,01,14,6 Д,6Е,6Е,6Е,6Е,00 ,58,00,2 г,2Д,2Д,2Д,2Д,2Д,2Д,2Д,2Д,2Д

Цитата: jmcilhinney

Вы могли делать то, что я тебе сказал в посте № 2, два с половиной дня назад. Зачем просить помочь, если ты будешь так упорно игнорируете?

Цитата: nick007

я не мог у тебя работать

но я использовал этот один, который в перебежках между

string data = BitConverter.ToString (dataRecevied);

затем обновляется до этого …

string data = BitConverter.ToString (dataRecevied) .Replace («-«, «»);

кажется, работает .. в тесте виртуального порта ..

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

Спасибо вам большое за вашу помощь

Цитата: nick007

Ок у меня все работает сейчас

Автор:editor

По этой фильтрации MAC-адресов и отображение в TextBox или ListBox элемент без дублирования

Цитата: Aashram

Я работаю над инструментом, который подключен к Bluetooth-приемник и просканировать и получить MAC-адрес BLE устройства. Пока я могу сканировать и MAC-адрес постоянно отображаться в текстовом поле. У меня проблема с фильтрацией MAC-адрес?(Наш назначенный MAC-адрес 88 99 66 55 4х ХХ последние 12 бит для свободного использования). Как я могу отфильтровать при сканировании и положил его в ListBox или TextBox для последующего использования.

Любое предложение или помощь будет оценили.

Code:
 using System;using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; using System.Text.RegularExpressions; using System.Threading;

namespace Serial_Events {
public partial class Form1 : Form
{


//MessageSend comm = new MessageSend();


string transType = string.Empty;


public SerialPort serialport;


private bool buttonWasClicked = false;





public Form1()


{



InitializeComponent();




foreach (string s in SerialPort.GetPortNames())



{




cmPort.Items.Add(s);



}



}


public void serialport_connect(String port, int baudrate)


{



DateTime dt = DateTime.Now;



String dtn = dt.ToShortTimeString();




serialport = new SerialPort(port, baudrate);




try



{




serialport.Open();





textBox1.AppendText(" OPEN " + "[" + dtn + "] " + " Port Opened: Connected\n");





// Event Handler




serialport.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);



}



catch (Exception ex)



{




MessageBox.Show(ex.ToString(), "Error");



}


}



private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)


{








DateTime dt = DateTime.Now;



String dtn = dt.ToShortTimeString();



//TextBox.CheckForIllegalCrossThreadCalls = false;



if (buttonWasClicked == true)



{




ThreadSafeDelegate(delegate { ScanList.Items.Add(serialport.ReadExisting()); });




//ThreadSafeDelegate(delegate { textBox3.Text += "\r\n"; });



}



else



{




ThreadSafeDelegate(delegate { textBox1.AppendText(serialport.ReadExisting()); });




ThreadSafeDelegate(delegate { textBox1.Text += "\r\n"; });




//textBox1.AppendText(serialport.ReadExisting());




//textBox1.Text += "\r\n";



}






}


private void button1_Click(object sender, EventArgs e)


{




byte[] msg = ASCIIEncoding.ASCII.GetBytes(textBox2.Text + "9854320");




serialport.Write(msg, 0, msg.Length);










}


private void button2_Click(object sender, EventArgs e)


{



String port = cmPort.Text;



int baudrate = Convert.ToInt32(cmBaud.Text);



//Parity parity = (Parity)Enum.Parse(typeof(Parity), cmbparity.Text);



//int databits = Convert.ToInt32(cmbdatabits.Text);



//StopBits stopbits = (StopBits)Enum.Parse(typeof(StopBits), cmbstopbits.Text);



button3.Enabled = true;



serialport_connect(port, baudrate);


}


private void button3_Click(object sender, EventArgs e)


{



DateTime dt = DateTime.Now;



String dtn = dt.ToShortTimeString();




if (serialport.IsOpen)



{




serialport.Close();




button3.Enabled = false;




button2.Enabled = true;




textBox1.AppendText("[" + dtn + "] " + "Port Close: Disconnected\n");



}


}





private void btnClear_Click(object sender, EventArgs e)


{



textBox1.Text = "";


}


private void ThreadSafeDelegate(MethodInvoker method)


{



if (InvokeRequired)




BeginInvoke(method);



else




method.Invoke();


}


private void Scan_Click(object sender, EventArgs e)


{



buttonWasClicked = true;




byte[] msg = ASCIIEncoding.ASCII.GetBytes( "SNS10" + "9854320");




serialport.Write(msg, 0, msg.Length);


}
} }

Автор:editor

Кнопка случайного текста или расположение

Цитата: cevik123123

Привет , я делаю небольшую игру, но я не могу найти мои кнопки случайно есть какие-либо советы для меня ?

Code:
public Orta()


{



 //



 // The InitializeComponent() call is required for Windows Forms designer support.



 //



 InitializeComponent();



 for (int i = 0; i < 40; i++) {




  Button buton = new Button {




  Name = "buton"+i,




  Text  = (i+1).ToString(),




  Height = 50,




  Width = 50,




  };










 flowLayoutPanel1.Controls.Add(buton);



 }







  //



 // TODO: Add constructor code after the InitializeComponent() call.



 //


}

Я просто сделал некоторые кнопки, но я не могу сделать их случайными.

Code:
for (int i = 0; i < 40; i++) {




  Random rnd = new Random();




  Button buton = new Button {




  Name = "buton"+i,




  Location = new Point(rnd.Next(1,40)), // this is not working.




  Text  = (i+1).ToString(),




  Height = 50,




  Width = 50,




  };










 flowLayoutPanel1.Controls.Add(buton);



 }

Я попробовать что-то вроде этого, но я не могу достичь решения.

я пытаюсь показать текст на кнопку, случайно его не будет место, но я не могу найти ничего, чтобы решить эту проблему.
я надеюсь, что у кого-то есть решение этой проблемы. Спасибо большое.

Цитата: JohnH

Если вместо этого вы делаете » я » одно случайное количество кнопок появится в случайном порядке.

Цитата: cevik123123

Я не очень хорошо понимаю, есть ли какой-либо образец для этого? я пытаюсь сделать

Code:
Text = (random.Next(0,40)+i).ToString();

, но он не работает.
Скриншот здесь

Цитата: cevik123123

Прикрепленные изображения random.GIF (36.7 КБ, 5 Просмотров)

Цитата:

я нашел проблему. я беру

Code:
Random rnd = new Random();

спасибо за ВАШ интерес.

Автор:editor

Вопрос на панели статистика

Цитата: itms

Привет,
В Vb.Net я бы просто создать процедуру с деталями панели, как размер и использовать его в любом месте в программе. Я посмотрел в сети и не могу найти ничего, что работает для C#, отчасти потому, что они дают частичные объяснения.
Мне просто нужно добавить две или три панели состояния в нижней части моей формы может кто-то объяснить или направить меня хороший сайт.

Спасибо

Цитата: jmcilhinney

Если ты говоришь, не говоря, что необходимо добавить новые методы, чтобы модуль в VB, то вы просто добавить методы статического класса в C#. Программа такие же, как C статические классы# после того, как они составляются. Модули и их проектирования поведения (нет необходимости использовать общий, не надо претендовать членов) — это просто поддержание существующей парадигме ВБ, но они все равно все .Чистая под капотом.

Если это не то, что вы говорите, Пожалуйста, скажите, что вы говорите.

Цитата: itms

Привет
И спасибо за ответ. Как я уже сказал я немного нового в C#, АО и не может быть выражением его право. Это не модуль, я бы поставил ее в порядок и иметь возможность вызвать его в любом месте в приложении. Но старение, Если вы можете дать хороший сайт, что бы объяснить как сделать это в C# я был бы признателен. Но я покажу вам, что я бы сделать здесь в VB:

Private Sub CreateMyStatusBar()

‘ Display the first panel with a sunken border style.

panel1.BorderStyle = StatusBarPanelBorderStyle.Sunken

‘ Initialize the text of the panel.

panel1.Text = «Ready…»

‘ Set the AutoSize property to use all remaining space on the StatusBar.

‘panel1.AutoSize = StatusBarPanelAutoSize.Spring

panel1.AutoSize = StatusBarPanelAutoSize.Contents

‘ Display the second panel with a raised border style.

panel2.BorderStyle = StatusBarPanelBorderStyle.Raised

‘ Create ToolTip text that displays the time the application was started.

panel2.ToolTipText = «Started: » & System.DateTime.Now.ToShortTimeString()

‘ Set the text of the panel to the current date.

panel2.Text = System.DateTime.Today.ToLongDateString()

‘ Set the AutoSize property to size the panel to the size of the contents.

panel2.AutoSize = StatusBarPanelAutoSize.Contents

‘ Display panels in the StatusBar control.

statusBar1.ShowPanels = True

‘ Add both panels to the StatusBarPanelCollection of the StatusBar.

statusBar1.Panels.Add(panel1)

statusBar1.Panels.Add(panel2)

‘ Add the StatusBar to the form.

End Sub

Цитата: jmcilhinney

XmL, это просто способ. Вы просто написать метод на C# тоже. В VB, функция возвращает значение и суб не но они оба способа. В C# все методы-это функции, и вы просто объявить тип возврата как «пустота», если ты не хочешь ничего возвращать.

Похоже, что вы не знаете основ языка C#, так что вы, вероятно, должны следовать учебник, ссылка в моей подписи ниже и перейдите по этой. Вы скоро увидите, что C# — это на самом деле очень похожа на VB.NET. Есть синтаксические отличия и некоторые тонкие изменения, например, как выбрать строительство по сравнению с выбрать дело, но они оба .Net языков ОО поэтому код очень структурированный, очень точно. Например, для тела это метод, единственные изменения, которые я вижу, что потребуется-это заменить ‘&амп;’ С ‘+’ и добавить точку с запятой в каждой строке.

Цитата: itms
Цитата первоначально написал jmcilhinney :
посмотреть сообщение XML, это просто способ. Вы просто написать метод на C# . В VB, функция возвращает значение и суб не но они оба способа. В C# все методы-это функции, и вы просто объявить тип возврата как «пустота», если ты не хочешь ничего возвращать.

Похоже, что вы не знаете основ языка C#, так что вы, вероятно, должны следовать учебник, ссылка в моей подписи ниже и перейдите по этой. Вы скоро увидите, что C# — это на самом деле очень похожа на VB.NET. Есть синтаксические отличия и некоторые тонкие изменения, например, как выбрать строительство по сравнению с выбрать дело, но они оба из .Net языков  поэтому код очень структурированный, очень точно. Например, для тела это метод, единственные изменения, которые я вижу, что потребуется-это заменить ‘&’ yf  ‘+’ и добавить точку с запятой в каждой строке.

Okay спасибо

Автор:editor

Как поймав ошибку и остановить загрузку

Цитата: SankaUD

Привет Всем,

У меня есть класс, предназначена для чтения содержимого файла и я хочу, чтобы мои дочерней MDI-От для остановки загрузки (скажем, когда пользователь открывает файл из меню «Файл»), если этот класс генерирует исключение (т. е. файл содержит значение null). как это можно сделать?

Если есть простой способ, я могу поймать все происходит ошибок в моем классе и завершить дочерней MDI от нагрузки.

Я не c# эксперт надеюсь, что кто-то может помочь мне.

Спасибо

Цитата: jmcilhinney

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

Цитата: SankaUD

Привет jmcilinney,

Спасибо за ответ, но я совсем не понимаю этого. сказать имею следующее.

Пользователь нажимает на родительское меню MDI, чтобы открыть файл. И ссылка на файл передается в класс, чтобы прочитать это содержимое и проверяя ошибки.

Класс выявляет проблему с файлом и затем хочет прекратить погрузку дочерней MDI, связанных с этим файлом.

Я wan’собираюсь создавать исключения в классе и запечатлеть это форма показать событие.

Можете вы, пожалуйста, приведите пример, как это можно сделать? это ОК, чтобы использовать бросить новую систему.Исключение ArgumentException?

Спасибо,

Автор:editor

Как скопировать также вложенные папки и файлы из определенной папки?

Цитата: ken76

Кто-нибудь может помочь, как я могу скопировать вложенные папки рабочего стола и файлы с кодом ниже этого текста?
Для момент я могу только скопировать файлы от » + компьютер + » и\с$\папке users\Desktop, но не вложенные папки и файлы.

Code:
string[] dirs = Directory.GetDirectories("\\" + computer + "\c$\Users\"); 
 foreach (string item in dirs) 
 { 

  FileInfo f = new FileInfo(item); 


user2 = "\\" + computer + "\c$\Users\" + f.Name + "\Desktop"; 


if (Directory.Exists(user2)) 








 { 


user = "C:\Backup" + computer + "" + f.Name + "\Desktop"; 


Directory.CreateDirectory(user); 


DirectoryInfo folder = new DirectoryInfo(user2); 


FileInfo[] files = folder.GetFiles(); 


foreach (FileInfo file in files) 


{ 




string temppath = Path.Combine(user, file.Name); 




 file.CopyTo(temppath, true); 


 } 
  }
Цитата: jmcilhinney

Есть два варианта:

1. Написать рекурсивный метод и делать по одной папке, например

private void CopyFolder (sourceFolderPath line, destinationFolderPath string) 

if (Katalog.Suschestvuet (destinationFolderPath)!) 

Katalog.CreateDirectory (destinationFolderPath); 
}

Foreach (var sourceFilePath in katalog.Zarazhen (sourceFolderPath)) 

BAP destinationFilePath = put.Kombinat (destinationFolderPath, put.GetFileName (sourceFilePath));

Fayl.Kopiya (sourceFilePath, destinationFilePath, true);
}

for each element (VAR sourceSubfolderPath in katalog.GetDirectories (sourceFolderPath))
{
// Note: put.Metod getfile justgets final node name, so it can be used to get the name of the folder.
var destinationSubfolderPath = put.Kombinat (destinationFolderPath, put.GetFileName (sourceSubfolderPath));

CopyFolder (sourceSubfolderPath, destinationSubfolderPath); 
}
}

// Примечание: путь.Метод getfile justgets имя конечного узла, поэтому его можно использовать, чтобы получить имя папки.
var destinationSubfolderPath = put.Kombinat (destinationFolderPath, put.GetFileName (sourceSubfolderPath));

CopyFolder(sourceSubfolderPath, destinationSubfolderPath);
}
}

2. Получить все пути к файлам рекурсивно сначала, а потом копировать их по одному, например

private void CopyFolder (line sourceFolderPath, destinationFolderPath string) 

var directory paths = katalog.Zarazhen (sourceFolderPath, the «*» Well, searchoption indicates nuzhno.AllDirectories);

Foreach (var sourceFilePath in directory paths)
{
var destinationFilePath = sourceFilePath.Zamenit (sourceFolderPath, destinationFolderPath);
var destinationFileFolderPath = put.GetDirectoryName (destinationFilePath);

if (Katalog.Suschestvuet (destinationFileFolderPath)!)
{
Katalog.CreateDirectory (destinationFileFolderPath);
}

Fayl.Kopiya (sourceFilePath, destinationFilePath, true);
}

Цитата: ken76

Путь я пытаюсь скопировать выглядеть например так,  \\ WorkPC \ C $ \ Users \ Andrew \ Desktop and \\ WorkPC \ C $ \ Users \ Robin \ Desktop и  \\ WorkPC \ C $ \ Users \ Andrew \ Desktop and \\ WorkPC \ C $ \ Users \ Robin \ Desktop, если имеется несколько пользователей.
Но это просто папки рабочего стола для каждого пользователя, содержащие файлы и вложенные папки, а также файлы папку, я wan’T, чтобы скопировать в новое место назначения
Можно ли это сделать с вашим кодом?

Цитата: jmcilhinney
 Первоначально написал ken76 View Post
Можно ли что то сделать с этим кодом?

Why вы спрашиваете меня, что вместо того, чтобы попытаться его для себя? Если это работает, это ваш ответ. Если это не сработает, ты пост назад и скажите нам точно, что вы сделали и что именно произошло, когда вы сделали это. Вы не спрашивайте нас, чтобы сказать вам, вещи, которые можно легко выяснить для себя.

Автор:editor

Перебирать ListView и передать на другую форму

Цитата: Beginner23

Всем привет,

Мне нужна твоя помощь! У меня есть ListView на форме form1. Как я могу передать этот ListView в Form2?

Пожалуйста, помогите!

Цитата: jmcilhinney

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

Я бы предположил, что вы не должны иметь доступ к контролю на разные формы. При добавлении элемента управления на форму, конструктор автоматически генерирует поля, которые управляют и области объявлен «частным», то есть не работает за пределами формы. Вот и зря. То, что вы должны почти наверняка будет делать-это писать метод в form1, которое получает доступ к своей собственной ListView и затем вызывая этот метод из Form2. Как именно вы вызываете метод зависит от конкретных отношений между формами. Просьба дать полное и четкое объяснение проблемы и мы можем описать самое лучшее решение.

В интересах полноты, чтобы сделать, как вы просите и доступ в ListView напрямую, формы Form2 нужно сделать ссылку на него. Я предполагаю, что форма form1 создает форму Form2 так, что означает, что форма form1 нужно передать ссылку на элемент управления ListView на форме Form2, либо передать ссылку на себя в Form2 и вы должны объявить общественный в ListView». Я настоятельно рекомендую не делать.

Автор:editor

Сочетание Форм Windows с консольным приложением

Цитата: alexmicheal49

Итак, я работаю над этим маленьким проектом, чтобы попытаться узнать больше о сети, а также C#, как я иду продвигаюсь.
Что я пытаюсь сделать,  когда вы нажимаете на кнопку и открывается окно консоли, что нужно для ввода данных и, по сути, я хочу ввести IP-адрес и порт с целью  возможности подключения к компьютеру, на котором запущен сервер приложений (tcplistener с).
У меня все работает, но не в форме Windows. Я использовал просто отдельное консольное приложение. Есть ли способ, что я могу реализовать консольное приложение в виде окна?

Цитата: jmcilhinney

Зачем вам нужна «реализация консольного приложения в Windows формат»? Это все кода C#. Почему вы не можете просто создать приложение WinForms и предложить пользователю ввести требуемые данные в TextBox? Вы можете запустить консольное приложение из приложения приложения WinForms, вызывая процесс.Начать, но это два отдельных приложения, так что они не для обмена данными. Есть способы общения между ними, но нет ничего конкретного в том, что ты запостил это означает, что вам потребуется два отдельных приложения в первую очередь.