3
각 탭 내에 tabControl과 flowLayoutPanel이 있습니다. 탭에 파일을 끌어다 놓으면 파일 아이콘이있는 버튼이 만들어집니다. 하지만 난 더 많은 탭을 만들 수있는 옵션이 내가 선택한 탭에 파일을 드래그 할 수있게하려면 ..하지만 버튼을 추가 할 때 문제가 flowLayoutPanel입니다 ..tabControl 내의 FlowLayoutPanel
내 코드 지금까지 :
public Process myProcess = new Process();
FlowLayoutPanel fl_panel = new FlowLayoutPanel();
string path_app;
public Form1()
{
InitializeComponent();
//add the flowLayoutPanel on the first tab
fl_panel.Dock = DockStyle.Fill;
fl_panel.BringToFront();
tabPage1.Controls.Add(fl_panel);
this.DragEnter += new DragEventHandler(Form1_DragEnter);
this.DragDrop += new DragEventHandler(Form1_DragDrop);
}
void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
e.Effect = DragDropEffects.All;
}
void Form1_DragDrop(object sender, DragEventArgs e)
{
string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[];
foreach (string s in fileList)
{
Button button = new Button();
button.Click += new EventHandler(this.button_Click);
fl_panel.Controls.Add(button);
path_app = String.Format("{0}", s);
button.Tag = path_app;
string filename = path_app;
Icon icon = System.Drawing.Icon.ExtractAssociatedIcon(filename);
Bitmap bmp = icon.ToBitmap();
button.BackgroundImage = bmp;
button.Width = 60;
button.Height = 75;
button.FlatStyle = FlatStyle.Flat;
button.BackgroundImageLayout = ImageLayout.Stretch;
}
}
private void button_Click(object sender, System.EventArgs e)
{
String path_app = ((sender as Button).Tag as String);
myProcess.StartInfo.FileName = path_app;
myProcess.Start();
}
private void add_tab_btn_Click(object sender, EventArgs e)
{
//Create new tab with FLP inside
string title = Convert.ToString(textBox1.Text);
TabPage new_TabPage = new TabPage(title);
fl_panel.Dock = DockStyle.Fill;
fl_panel.BringToFront();
new_TabPage.Controls.Add(fl_panel);
tabControl1.TabPages.Add(new_TabPage);
}
}
fl_panel.Controls.Add (버튼)을 사용하는 경우; 첫 번째 탭에 버튼을 잘 추가하지만 새 탭을 만들면 fl_panel.Controls.Add (버튼)와 함께 tabControl.SelectedTab을 사용하여 선택한 탭에 버튼을 올바르게 추가하는 방법을 알지 못합니다.
를 @ alexAlex : 행운? 도움이 더 필요하십니까? –
네, 잘 작동합니다! 고맙습니다! –